Full-on Hypermedia APIs
Markus Lanthaler
{
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate": "2014-03-26",
"endDate": "2013-03-28"
}
http://...
{
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate": "2014-03-26",
"endDate": "2013-03-28"
}
http://...
Link: <http://example.com/events/as14/attendees/>
{
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
{
"id": "as14",
"name": "API St...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
{
"id": "as14",
"name": "API St...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
{
69 64: 61 73 31 34,
6E 61 6D ...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
http://example.com/events/as14
...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
{
69 64: 61 73 31 34,
6E 61 6D ...
Link: <http://example.com/events/as14/attendees/>;
rel="http://example.com/rels/attendees"
{
"id": "as14",
"name": "API St...
{
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate": "2014-03-26",
"endDate": "2013-03-28",
"attende...
{
"@context": {
"@vocab": "http://schema.org/"
},
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate":...
{
"@context": {
"@vocab": "http://schema.org/"
},
"id": "as14",
"name": "API Strategy & Practice Conference",
"startDate":...
{
"@context": {
"@vocab": "http://schema.org/"
},
"@id": "as14",
"name": "API Strategy & Practice Conference",
"startDate"...
{
"@context": {
"@vocab": "http://schema.org/"
},
"@id": "as14",
"name": "API Strategy & Practice Conference",
"startDate"...
{
"@context": {
"@vocab": "http://schema.org/"
},
"@id": "/events/as14/attendees/"
}
{
"@context": [
{ "@vocab": "http://schema.org/" },
"http://www.w3.org/ns/hydra/core"
],
"@id": "/events/as14/attendees/"
}
{
"@context": [
{ "@vocab": "http://schema.org/" },
"http://www.w3.org/ns/hydra/core"
],
"@id": "/events/as14/attendees/",...
{
"@context": [
{ "@vocab": "http://schema.org/" },
"http://www.w3.org/ns/hydra/core"
],
"@id": "/events/as14/attendees/",...
{
"@context": [
{ "@vocab": "http://schema.org/" },
"http://www.w3.org/ns/hydra/core"
],
"@id": "http://schema.org/attende...
Hydra Console
© 2014, Markus Lanthaler. Some Rights Reserved.
http://creativecommons.org/licenses/by-nc-sa/4.0/
Thank You
© 2014, Markus Lanthaler. Some Rights Reserved.
http://creativecommons.org/licenses/by-nc-sa/4.0/
SpecialThanks to
Questions?
Markus Lanthaler
http://www.markus-lanthaler.com
@MarkusLanthaler
mail@markus-lanthaler.com
Image Credits
(1) http://www.flickr.com/photos/piper/2890945512/
(13) http://schema.org/attendees
(14) http://schema.org/E...
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Upcoming SlideShare
Loading in...5
×

Full-on Hypermedia APIs with Hydra

3,840

Published on

Presented at the API Strategy & Practice Conference in Amsterdam, Netherlands

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,840
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

Full-on Hypermedia APIs with Hydra

  1. 1. Full-on Hypermedia APIs Markus Lanthaler
  2. 2. { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  3. 3. { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  4. 4. Link: <http://example.com/events/as14/attendees/> { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  5. 5. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  6. 6. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  7. 7. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" { 69 64: 61 73 31 34, 6E 61 6D 65: 41 50 49 20 53 74 72 61 74 65 67 79 … 73 74 61 72 74 44 61 74 65: 32 30 31 34 2D 30 33 … 65 6E 64 44 61 74 65: 32 30 31 33 2D 30 33 2D 32 … } http://example.com/events/as14
  8. 8. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" http://example.com/events/as14 /events/as14 /events/as14/attendees
  9. 9. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" { 69 64: 61 73 31 34, 6E 61 6D 65: 41 50 49 20 53 74 72 61 74 65 67 79 … 73 74 61 72 74 44 61 74 65: 32 30 31 34 2D 30 33 … 65 6E 64 44 61 74 65: 32 30 31 33 2D 30 33 2D 32 … } http://example.com/events/as14
  10. 10. Link: <http://example.com/events/as14/attendees/>; rel="http://example.com/rels/attendees" { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28" } http://example.com/events/as14
  11. 11. { "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28", "attendees": "/events/as14/attendees/" } http://example.com/events/as14
  12. 12. { "@context": { "@vocab": "http://schema.org/" }, "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28", "attendees": "/events/as14/attendees/" } http://example.com/events/as14
  13. 13. { "@context": { "@vocab": "http://schema.org/" }, "id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28", "attendees": "/events/as14/attendees/" } http://example.com/events/as14
  14. 14. { "@context": { "@vocab": "http://schema.org/" }, "@id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28", "attendees": "/events/as14/attendees/" } http://example.com/events/as14
  15. 15. { "@context": { "@vocab": "http://schema.org/" }, "@id": "as14", "name": "API Strategy & Practice Conference", "startDate": "2014-03-26", "endDate": "2013-03-28", "attendees": { "@id": "/events/as14/attendees/" } } http://example.com/events/as14
  16. 16. { "@context": { "@vocab": "http://schema.org/" }, "@id": "/events/as14/attendees/" }
  17. 17. { "@context": [ { "@vocab": "http://schema.org/" }, "http://www.w3.org/ns/hydra/core" ], "@id": "/events/as14/attendees/" }
  18. 18. { "@context": [ { "@vocab": "http://schema.org/" }, "http://www.w3.org/ns/hydra/core" ], "@id": "/events/as14/attendees/", "operation": { "@type": "AddAction", "method": "POST", "expects": { "@id": "Person", "supportedProperty": { "property": "name", "required": true } } } }
  19. 19. { "@context": [ { "@vocab": "http://schema.org/" }, "http://www.w3.org/ns/hydra/core" ], "@id": "/events/as14/attendees/", "operation": { "@type": "AddAction", "method": "POST", "expects": { "@id": "Person", "supportedProperty": { "property": "name", "required": true } } } }
  20. 20. { "@context": [ { "@vocab": "http://schema.org/" }, "http://www.w3.org/ns/hydra/core" ], "@id": "http://schema.org/attendees", "supportedOperation": { "@type": "AddAction", "method": "POST", "expects": { "@id": "Person", "supportedProperty": { "property": "name", "required": true } } } }
  21. 21. Hydra Console
  22. 22. © 2014, Markus Lanthaler. Some Rights Reserved. http://creativecommons.org/licenses/by-nc-sa/4.0/ Thank You
  23. 23. © 2014, Markus Lanthaler. Some Rights Reserved. http://creativecommons.org/licenses/by-nc-sa/4.0/ SpecialThanks to
  24. 24. Questions? Markus Lanthaler http://www.markus-lanthaler.com @MarkusLanthaler mail@markus-lanthaler.com
  25. 25. Image Credits (1) http://www.flickr.com/photos/piper/2890945512/ (13) http://schema.org/attendees (14) http://schema.org/Event (18) http://www.vonwong.com/

×