Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

真のREST

1,476 views

Published on

平成Ruby会議01

Published in: Internet
  • Be the first to comment

真のREST

  1. 1. REST @tkawa 2019.12.14 Ruby 01 ©Opte Project
  2. 2. @tkawa (Toru Kawamura) REST (RESTafarian) Sendagaya.rb (w/ @fukajun) 19:30-
 https://sendagayarb.doorkeeper.jp/ RubyKaigi 2013 “Rails Gems realize RESTful modeling patterns” 2014 “Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails” 2016 “Web Clients for Ruby and What they should be in the future”
  3. 3. REST (2000 -) REST API? GraphQL? gRPC? …
  4. 4. @t_wada says… https://speakerdeck.com/twada/understanding-the-spiral-of-technologies
  5. 5. @t_wada says… https://speakerdeck.com/twada/understanding-the-spiral-of-technologies
  6. 6. REST (2000 -) 2000 2004 SOAP REST 20
  7. 7. REST Roy T. Fielding 1995 Apache HTTP Server Apache HTTP Server 1996 5 HTTP/1.0 (RFC 1945) 1997 1 HTTP/1.1 (RFC 2068) 2000 
 “Architectural Styles and the Design of Network-based Software Architectures” 
 → Web 
 REST https://twitter.com/fielding
  8. 8. 
 
 REST 
 
 [ ] URL HTTP HTML JavaScript
  9. 9. REST URL
  10. 10. https://speakerdeck.com/koriym/rest-6-plus-4falsezhi-yue 😫
  11. 11. REST CRUD
  12. 12. https://dzone.com/articles/working-with-rest-in-oracle-jet 😫
  13. 13. REST 9 (Constraints)
  14. 14. 
 
 REST 
 
 [ ] URL HTTP HTML JavaScript
  15. 15. 
 
 REST 
 
 [ ]
  16. 16. HTML JSON 
 (Representation) REST = REpresentational State Transfer 
 →
  17. 17. https://www.researchgate.net/publication/51722277_The_semantic_architecture_of_the_World-Wide_Molecular_Matrix_WWMM def show @crystal = Crystal.find(params[:id]) respond_to do |format| format.html format.pdf { render pdf: generate_pdf(@crystal) }
 format.csv format.json
 … end end
  18. 18. 
 →
  19. 19. Web 
 1 1 https://speakerdeck.com/koriym/rest-6-plus-4falsezhi-yue
  20. 20. 
 Hypertext Transfer Protocol / Hypertext Markup Language 
 → <a> <img> <form> https://www.ltrebing.de/studium/hypertext/
  21. 21. URL 
 
 ”RESTful Web APIs” p.11 Figure 1-7
  22. 22. https://speakerdeck.com/koriym/rest-6-plus-4falsezhi-yue
  23. 23. 
 
 REST 
 
 [ ] URL HTTP JSON
  24. 24. Web Web
  25. 25. Web Web דREST API” RPC API
  26. 26. Web Web ×API
  27. 27. Web Web API REST API
  28. 28. REST API HTML 1 (HAL, JSON:API, Collection+JSON,…) 
 →
  29. 29. : Graphiti https://www.graphiti.dev/ GraphQL REST REST REST GraphQL REST HTTP
  30. 30. : REST REST 9 2 Web 20
  31. 31. API API 
 API
  32. 32. RESTful Web APIs 
 REST API 
 (@koriym) 
 https://bengo4.connpass.com/ http://restfulwebapis.com/

×