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
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
並行開発のためのコードレビュー
miyukiw
0
180
ぼくの開発環境2026
yuzneri
0
230
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
MUSUBIXとは
nahisaho
0
130
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
100
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
300
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.2k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
162
24k
Designing Experiences People Love
moore
144
24k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
160
A designer walks into a library…
pauljervisheath
210
24k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
Building the Perfect Custom Keyboard
takai
2
680
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
76
Tell your own story through comics
letsgokoyo
1
810
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Crafting Experiences
bethany
1
49
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!