Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Full-on Hypermedia APIs with Hydra

11.478 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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/

×