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
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
87
Unit testing in general
adammbalogh
2
72
Other Decks in Programming
See All in Programming
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
CSC307 Lecture 06
javiergs
PRO
0
690
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
CSC307 Lecture 05
javiergs
PRO
0
500
Basic Architectures
denyspoltorak
0
680
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
290
Package Management Learnings from Homebrew
mikemcquaid
0
230
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
8k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
68
It's Worth the Effort
3n
188
29k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
A Soul's Torment
seathinner
5
2.3k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
Discover your Explorer Soul
emna__ayadi
2
1.1k
Tell your own story through comics
letsgokoyo
1
810
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!