Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Building Self Documenting REST APIs

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 37 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Building Self Documenting REST APIs (20)

Anuncio

Más reciente (20)

Anuncio

Building Self Documenting REST APIs

  1. 1. Self-Documenting APIs @skwp @reverbdotcom
  2. 2. What Makes a Good API?
  3. 3. Discoverable
  4. 4. Self Documenting
  5. 5. Standardized
  6. 6. Discoverability
  7. 7. Discoverability What can I do with it?
  8. 8. If the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period.
  9. 9. http://martinfowler.com/articles/richardsonMaturityModel.html
  10. 10. Hypermedia as the Engine of Application State HATEOAS
  11. 11. What Happens When I
 GET reverb.com/api?
  12. 12. What Happens When I
 GET yahoo.com?
  13. 13. curl https://reverb.com/api
  14. 14. GET product._links.buy
  15. 15. Evolvability
  16. 16. Self-Documenting
  17. 17. Self-Documenting How can I do what I want to do?
  18. 18. Minimize Documentation Drift
  19. 19. Generate Docs, Clients, even Servers from Code
  20. 20. Standardized
  21. 21. Standardized How is it similar to other APIs?
  22. 22. Simplicity Increases
 Likelihood of Adoption
  23. 23. Fewer Constructs is Simpler
  24. 24. Siren • jsonapi.org • HAL
  25. 25. Siren • jsonapi.org • HAL
  26. 26. Siren • jsonapi.org • HAL
  27. 27. Winner: HAL http://stateless.co/hal_specification.html
  28. 28. BONUS - Baked into Roar
  29. 29. Discoverable ✓HATEOAS ✓HAL Links ✓Grape+Roar
  30. 30. Self Documenting ✓Swagger ✓Grape-Swagger ✓Swagger-UI
  31. 31. Standardized ✓Swagger ✓HAL ✓REST
  32. 32. Resources http://swagger.io/ https://github.com/swagger-api/swagger-spec http://api.opensupporter.org/hb2/browser.html#/api/v1 http://stateless.co/hal_specification.html https://github.com/swagger-api/swagger-ui http://roy.gbiv.com/untangled/2008/rest-apis-must-be- hypertext-driven @skwp @reverbdotcom https://github.com/swagger-api/swagger-codegen

×