Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
REST: Key Concepts
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Adam
March 31, 2015
Programming
2
200
REST: Key Concepts
Main points of REST: Methods, Status codes, Error handling, Versioning, Documentation, Testing
Adam
March 31, 2015
Tweet
Share
More Decks by Adam
See All by Adam
Unit testing with PHPUnit
adammbalogh
1
88
Unit testing in general
adammbalogh
2
73
Other Decks in Programming
See All in Programming
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
250
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
170
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
290
AI活用のコスパを最大化する方法
ochtum
0
340
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
610
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
600
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
250
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
160
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
120
The free-lunch guide to idea circularity
hollycummins
0
370
Featured
See All Featured
Accessibility Awareness
sabderemane
0
85
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Designing Experiences People Love
moore
143
24k
Writing Fast Ruby
sferik
630
63k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
Technical Leadership for Architectural Decision Making
baasie
3
300
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Darren the Foodie - Storyboard
khoart
PRO
3
3k
Documentation Writing (for coders)
carmenintech
77
5.3k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
850
Abbi's Birthday
coloredviolet
2
5.9k
Transcript
Rest Key Concepts
@adammbalogh Software developer Author of Phprest
https://github.com/phprest/phprest
Good To Know REST HTTP
REST with HTTP As a Web Dev We HTTP
None
Methods
Methods OPTIONS Returns available HTTP methods on resource(s) GET Retrieves
resource(s) POST Creates a resource PUT Creates/Updates a resource PATCH Updates a resource (partially) DELETE Deletes a resource
OPTIONS /users Allow: GET,POST,DELETE Methods / Options
Methods / Put PUT for Creation Client specified ID PUT
/products/16
Methods / Patch { “email”: “
[email protected]
” } [ { "op":
“replace", "path": “/email", "value": “
[email protected]
“ } ]
Status Codes
None
Status Codes Status code Meaning 1xx Informational 2xx Success 3xx
Redirection 4xx Client Error 5xx Server Error http://httpstatus.es/
Asynchronous operation Location: /queue/1337
Rate limiting
Errors Human readable Detailed error messages
Api Versioning
Api Versioning Breaking existing clients? v99
Api Versioning New version When?
“Your API is only as good as its documentation” API
Documentation
API Documentation APIs for Humans
Swagger http://swagger.io/
None
API Blueprint https://apiblueprint.org
None
None
https://github.com/apiaryio/dredd
API Testing
Postman + Newman + Blueman API Testing Frisby.js CI
Thank you!