Enviar búsqueda
Cargar
Intro to Hypermedia APIs
•
0 recomendaciones
•
2,327 vistas
SmartLogic
Seguir
An introduction to Hypermedia APIs from software developer Eric Oestrich.
Leer menos
Leer más
Tecnología
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 51
Descargar ahora
Descargar para leer sin conexión
Recomendados
L18 REST API Design
L18 REST API Design
Ólafur Andri Ragnarsson
REST API Design
REST API Design
Devi Kiran G
List and images in html
List and images in html
prithvisawla
How to build a rest api.pptx
How to build a rest api.pptx
Harry Potter
SJUG March 2010 Restful design
SJUG March 2010 Restful design
Michael Neale
Designing REST services with Spring MVC
Designing REST services with Spring MVC
Serhii Kartashov
PHP | ZENUS INFOTECH INDIA PVT. LTD.
PHP | ZENUS INFOTECH INDIA PVT. LTD.
ZENUS INFOTECH INDIA PVT. LTD.
Xml schema
Xml schema
Dr.Saranya K.G
Más contenido relacionado
La actualidad más candente
Introduction to the Web API
Introduction to the Web API
Brad Genereaux
REST Easy with AngularJS - ng-grid CRUD EXAMPLE
REST Easy with AngularJS - ng-grid CRUD EXAMPLE
reneechemel
Introduction to JavaScript
Introduction to JavaScript
Marlon Jamera
Avik_RailsTutorial
Avik_RailsTutorial
tutorialsruby
Rest api-basic
Rest api-basic
Amila Sampath
REST and ASP.NET Web API (Milan)
REST and ASP.NET Web API (Milan)
Jef Claes
Webservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and REST
Pradeep Kumar
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
Luke Stokes
Learn REST in 18 Slides
Learn REST in 18 Slides
Suraj Gupta
Overview of java web services
Overview of java web services
Todd Benson (I.T. SPECIALIST and I.T. SECURITY)
Catalyst 20090822 Osc Nagoya
Catalyst 20090822 Osc Nagoya
なんとか くら
Dynamic content generation
Dynamic content generation
Eleonora Ciceri
AJAX - An introduction
AJAX - An introduction
Eleonora Ciceri
Client Side Technologies
Client Side Technologies
Anirban Majumdar
Javascript 01 (js)
Javascript 01 (js)
AbhishekMondal42
PHP Basics
PHP Basics
Bhanuka Uyanage
HTML5 - An introduction
HTML5 - An introduction
Eleonora Ciceri
La actualidad más candente
(17)
Introduction to the Web API
Introduction to the Web API
REST Easy with AngularJS - ng-grid CRUD EXAMPLE
REST Easy with AngularJS - ng-grid CRUD EXAMPLE
Introduction to JavaScript
Introduction to JavaScript
Avik_RailsTutorial
Avik_RailsTutorial
Rest api-basic
Rest api-basic
REST and ASP.NET Web API (Milan)
REST and ASP.NET Web API (Milan)
Webservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and REST
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
Learn REST in 18 Slides
Learn REST in 18 Slides
Overview of java web services
Overview of java web services
Catalyst 20090822 Osc Nagoya
Catalyst 20090822 Osc Nagoya
Dynamic content generation
Dynamic content generation
AJAX - An introduction
AJAX - An introduction
Client Side Technologies
Client Side Technologies
Javascript 01 (js)
Javascript 01 (js)
PHP Basics
PHP Basics
HTML5 - An introduction
HTML5 - An introduction
Destacado
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
CA API Management
EVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy Fielding
Evolve The Adobe Digital Marketing Community
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
C4Media
spray: REST on Akka
spray: REST on Akka
sirthias
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
CA API Management
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rodrigo Senra
Chapter 2
Chapter 2
Faisal Aziz
Destacado
(7)
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
Designing & Implementing Hypermedia APIs – Mike Amundsen, Principal API Archi...
EVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy Fielding
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
spray: REST on Akka
spray: REST on Akka
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Rest - Representational State Transfer (EMC BRDC Internal Tech talk)
Chapter 2
Chapter 2
Similar a Intro to Hypermedia APIs
REST API Laravel
REST API Laravel
John Dave Decano
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Tiago Knoch
Restful web services
Restful web services
Surinder Mehra
A RESTful introduction
A RESTful introduction
Daniel Toader
RESTful services
RESTful services
gouthamrv
Restful web services rule financial
Restful web services rule financial
Rule_Financial
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
Rasan Samarasinghe
Restful web services with java
Restful web services with java
Vinay Gopinath
Birds Eye View on API Development - v1.0
Birds Eye View on API Development - v1.0
API Talent
Embrace HTTP with ASP.NET Web API
Embrace HTTP with ASP.NET Web API
Filip W
Writing RESTful Web Services
Writing RESTful Web Services
Paul Boocock
Building Restful Applications Using Php
Building Restful Applications Using Php
Sudheer Satyanarayana
An Introduction To REST API
An Introduction To REST API
Aniruddh Bhilvare
Attacking REST API
Attacking REST API
Siddharth Bezalwar
Creating Restful Web Services with restish
Creating Restful Web Services with restish
Grig Gheorghiu
Amsterdam php create a restful api
Amsterdam php create a restful api
ceeram
REST: The Most Misunderstood Software Architecture Ever
REST: The Most Misunderstood Software Architecture Ever
Martín Soto
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOAS
Guy K. Kloss
Api crash
Api crash
Tony Nguyen
Api crash
Api crash
Hoang Nguyen
Similar a Intro to Hypermedia APIs
(20)
REST API Laravel
REST API Laravel
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Restful web services
Restful web services
A RESTful introduction
A RESTful introduction
RESTful services
RESTful services
Restful web services rule financial
Restful web services rule financial
Advanced Web Development in PHP - Understanding REST API
Advanced Web Development in PHP - Understanding REST API
Restful web services with java
Restful web services with java
Birds Eye View on API Development - v1.0
Birds Eye View on API Development - v1.0
Embrace HTTP with ASP.NET Web API
Embrace HTTP with ASP.NET Web API
Writing RESTful Web Services
Writing RESTful Web Services
Building Restful Applications Using Php
Building Restful Applications Using Php
An Introduction To REST API
An Introduction To REST API
Attacking REST API
Attacking REST API
Creating Restful Web Services with restish
Creating Restful Web Services with restish
Amsterdam php create a restful api
Amsterdam php create a restful api
REST: The Most Misunderstood Software Architecture Ever
REST: The Most Misunderstood Software Architecture Ever
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOAS
Api crash
Api crash
Api crash
Api crash
Más de SmartLogic
Writing Game Servers with Elixir
Writing Game Servers with Elixir
SmartLogic
All Aboard The Stateful Train
All Aboard The Stateful Train
SmartLogic
DC |> Elixir Meetup - Going off the Rails into Elixir - Dan Ivovich
DC |> Elixir Meetup - Going off the Rails into Elixir - Dan Ivovich
SmartLogic
Monitoring Your Elixir Application with Prometheus
Monitoring Your Elixir Application with Prometheus
SmartLogic
Going Multi-Node
Going Multi-Node
SmartLogic
Kubernetes and docker
Kubernetes and docker
SmartLogic
Serializing Value Objects-Ara Hacopian
Serializing Value Objects-Ara Hacopian
SmartLogic
Guide to food foraging by SmartLogic's Kei Ellerbrock
Guide to food foraging by SmartLogic's Kei Ellerbrock
SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogic
SmartLogic
How SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan Ivovich
SmartLogic
A Few Interesting Things in Apple's Swift Programming Language
A Few Interesting Things in Apple's Swift Programming Language
SmartLogic
Effective ActiveRecord
Effective ActiveRecord
SmartLogic
An Introduction to Reactive Cocoa
An Introduction to Reactive Cocoa
SmartLogic
iOS Development Methodology
iOS Development Methodology
SmartLogic
CSS Preprocessors to the Rescue!
CSS Preprocessors to the Rescue!
SmartLogic
Deploying Rails Apps with Chef and Capistrano
Deploying Rails Apps with Chef and Capistrano
SmartLogic
From Slacker to Hacker, Practical Tips for Learning to Code
From Slacker to Hacker, Practical Tips for Learning to Code
SmartLogic
The Language of Abstraction in Software Development
The Language of Abstraction in Software Development
SmartLogic
Android Testing: An Overview
Android Testing: An Overview
SmartLogic
Intro to DTCoreText: Moving Past UIWebView | iOS Development
Intro to DTCoreText: Moving Past UIWebView | iOS Development
SmartLogic
Más de SmartLogic
(20)
Writing Game Servers with Elixir
Writing Game Servers with Elixir
All Aboard The Stateful Train
All Aboard The Stateful Train
DC |> Elixir Meetup - Going off the Rails into Elixir - Dan Ivovich
DC |> Elixir Meetup - Going off the Rails into Elixir - Dan Ivovich
Monitoring Your Elixir Application with Prometheus
Monitoring Your Elixir Application with Prometheus
Going Multi-Node
Going Multi-Node
Kubernetes and docker
Kubernetes and docker
Serializing Value Objects-Ara Hacopian
Serializing Value Objects-Ara Hacopian
Guide to food foraging by SmartLogic's Kei Ellerbrock
Guide to food foraging by SmartLogic's Kei Ellerbrock
Introduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogic
How SmartLogic Uses Chef-Dan Ivovich
How SmartLogic Uses Chef-Dan Ivovich
A Few Interesting Things in Apple's Swift Programming Language
A Few Interesting Things in Apple's Swift Programming Language
Effective ActiveRecord
Effective ActiveRecord
An Introduction to Reactive Cocoa
An Introduction to Reactive Cocoa
iOS Development Methodology
iOS Development Methodology
CSS Preprocessors to the Rescue!
CSS Preprocessors to the Rescue!
Deploying Rails Apps with Chef and Capistrano
Deploying Rails Apps with Chef and Capistrano
From Slacker to Hacker, Practical Tips for Learning to Code
From Slacker to Hacker, Practical Tips for Learning to Code
The Language of Abstraction in Software Development
The Language of Abstraction in Software Development
Android Testing: An Overview
Android Testing: An Overview
Intro to DTCoreText: Moving Past UIWebView | iOS Development
Intro to DTCoreText: Moving Past UIWebView | iOS Development
Último
201610817 - edge part1
201610817 - edge part1
Jamie (Taka) Wang
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
bruanjhuli
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Will Schroeder
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
Brian Pichman
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
Jamie (Taka) Wang
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
dgelyza
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
SkyPlanner
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
Daniel Santiago Silva Capera
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
DianaGray10
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
DianaGray10
20230104 - machine vision
20230104 - machine vision
Jamie (Taka) Wang
Designing A Time bound resource download URL
Designing A Time bound resource download URL
Runcy Oommen
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Mahmoud Rabie
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
DianaGray10
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
Matt Ray
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
Asko Soukka
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Último
(20)
201610817 - edge part1
201610817 - edge part1
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
20230104 - machine vision
20230104 - machine vision
Designing A Time bound resource download URL
Designing A Time bound resource download URL
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Intro to Hypermedia APIs
1.
Introduction to Hypermedia APIs
Eric Oestrich @ericoestrich oestri.ch smartlogicsolutions.com
2.
What is a
Hypermedia API?
3.
REST REpresentational State Transfer
4.
Relies Heavily on
HTTP ● Methods and URI ● Media Types ● Client Server
5.
Relies Heavily on
HTTP (Cont) ● Stateless ● Caching ● Uniform Interface (HATEOAS)
6.
Methods and URIs
7.
Five Routes GET
/orders POST /orders GET /orders/:id PUT /orders/:id DELETE /orders/:id
8.
GET /orders
List of orders
9.
POST /orders Create
an order
10.
GET /orders/:id View
a single order
11.
PUT /orders/:id Replace or
create an order
12.
DELETE /orders/:id
Delete an order
13.
A bit about
HTTP Verbs
14.
GET Retrieve a resource
15.
POST Most generic
16.
PUT Replace or Create
Not partial
17.
DELETE Delete a resource
18.
PATCH Update partially Must
be a diff
19.
Media Types
20.
Formats ● JSON ● XML ●
XHTML
21.
Setting the Media
Type ● Accept Headers ● Rails way - .:format
22.
Representational based
Models != Representations
23.
Uniform Interface
24.
Uniform Interface ● Identification
of resources ● Manipulation of resources via representations ● Self descriptive messages ● Hypermedia as the engine of application state
25.
Identification of
resources
26.
Manipulation of resources
via representations
27.
Self descriptive
messages Statelessness
28.
Hypermedia as the
engine of application state HATEOAS
29.
Clients should not
know how to build routes
30.
Enter HAL JSON cannot
describe a link
31.
HAL is a
media type for defining links in JSON application/hal+json
32.
The Goal
GET /
33.
Great, now I
know what a Hypermedia API is.
34.
How do I
make one?
35.
Rails + Lots
of Gems Also monkey patching
36.
Gems ●
ActiveModel::Serializer ● RspecApiDocumentation ● Raddocs ● A few other handy ones
37.
$ rails new
hypermedia_api --skip-test-unit
38.
$ vim Gemfile gem
'raddocs' gem 'active_model_serializers'
39.
$ vim Gemfile group
:test, :development do gem 'rspec-rails' gem 'rspec_api_documentation' end
40.
Get rspec set
up
41.
Create our first acceptance
test
42.
Generate models, index
action, serializers
43.
Show
44.
Create
45.
Update
46.
Delete
47.
Setup HAL Let the
monkey patching begin
48.
We're missing something...
49.
$ curl http://localhost:3000/
""
50.
Root Resource
51.
Questions?
Eric Oestrich @ericoestrich oestri.ch smartlogicsolutions.com
Descargar ahora