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
Battle tested API design - Laracon EU Online
Search
Johannes Pichler
May 20, 2020
Programming
0
85
Battle tested API design - Laracon EU Online
Johannes Pichler
May 20, 2020
Tweet
Share
More Decks by Johannes Pichler
See All by Johannes Pichler
Crafting Elegant APIs with Laravel
fetzi
0
130
Battle tested API Design - Laravel Edition (PHP.RUHR)
fetzi
0
86
Battle tested API design
fetzi
0
93
Mastering CLIs
fetzi
0
50
(Understanding) OAuth2
fetzi
0
230
Decouple Everything
fetzi
0
210
Go Basics Workshop
fetzi
1
81
Getting more out of Git (german)
fetzi
0
71
Go for PHP devs
fetzi
3
110
Other Decks in Programming
See All in Programming
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.7k
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
AtCoder Conference 2025
shindannin
0
1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
310
gunshi
kazupon
1
140
MUSUBIXとは
nahisaho
0
110
Grafana:建立系統全知視角的捷徑
blueswen
0
310
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
160
ThorVG Viewer In VS Code
nors
0
750
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
220
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
810
The World Runs on Bad Software
bkeepers
PRO
72
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
190
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Optimizing for Happiness
mojombo
379
71k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
420
Design in an AI World
tapps
0
140
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
From π to Pie charts
rasagy
0
120
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Transcript
Ba#le tested API design Laracon EU Online 2020
Johannes Pichler • Web Developer since 2006 • PHP, .NET,
Java • working @ karriere.at
Agenda • API design • Implemen/ng an API in Laravel
None
API Design
Steps for building your API Design • Requirements & Planning
• Implementa4on • Verifica4on & Maintenance
Requirements & Planning
Consider the client(s)
Rou$ng • based on resources • use standard HTTP methods
• be as explicit as possible
Rou$ng GET: /todos GET: /todos/{id} POST: /todos PUT: /todos/{id} DELETE:
/todos/{id}
Rou$ng - API Versioning • frequency of endpoint changes •
handling of breaking changes • use seman8c versioning • use only major version in URLs
Response format • no custom response format • use a
defined standard • JSON:API • HAL
Authoriza*on • use specific client tokens • add access tokens
for sensi3ve endpoints
API Specifica,on • use an API client like Stoplight Studio
or Postman • define your endpoints with edge cases • make your specifica;on testable
Implemen'ng an API in Laravel
Verifica(on & Maintenance
Verifica(on • it's all about metrics • have useful error
logging in place • verify your assump7ons during development
Maintenance • be careful with breaking changes • s3ck to
seman3c versioning • keep your API specifica3on up to date
Summary
Resources • h#ps:/ /github.com/fetzi/laracon-api-design • h#ps:/ /jsonapi.org/
THANKS @fetzi_io