Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Sniffing the Mobile Context
Andy Davies
Progressive Enhancement 2.0 (Conference Agnostic)
Nicholas Zakas
Browser Wars Episode 1: The Phantom Menace
Nicholas Zakas
State of jQuery '09
jeresig
High Performance Websites
Parham
Making the web faster
Patrick Meenan
Speed is Essential for a Great Web Experience (Canvas Conf Version)
Andy Davies
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
1
of
20
Top clipped slide
API Best Practices
May. 14, 2012
•
0 likes
3 likes
×
Be the first to like this
Show More
•
1,033 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Report
Technology
Business
Uri Lavi
Follow
Software Engineer at IRefactor
Advertisement
Advertisement
Advertisement
Recommended
Web Performance 101
Uri Lavi
1.1K views
•
61 slides
Speed Index, explained!
Stefan Baumgartner
1K views
•
86 slides
Building High Performance Websites - Session-1
Usama Nada
809 views
•
33 slides
How fast are we going now?
Steve Souders
37.4K views
•
62 slides
Grokking REST (ZendCon 2010)
Ben Ramsey
1.3K views
•
61 slides
Speed is Essential for a Great Web Experience
Andy Davies
12.2K views
•
49 slides
More Related Content
Slideshows for you
(20)
Sniffing the Mobile Context
Andy Davies
•
3.2K views
Progressive Enhancement 2.0 (Conference Agnostic)
Nicholas Zakas
•
42.5K views
Browser Wars Episode 1: The Phantom Menace
Nicholas Zakas
•
77.4K views
State of jQuery '09
jeresig
•
18.2K views
High Performance Websites
Parham
•
1.2K views
Making the web faster
Patrick Meenan
•
4.1K views
Speed is Essential for a Great Web Experience (Canvas Conf Version)
Andy Davies
•
7.3K views
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
•
31.3K views
PC Monitoring Software
Aaron Davis
•
143 views
Keep the Web Fast
Chris Fetherston
•
776 views
5 single page application principles developers need to know
Chris Love
•
10.6K views
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
Distilled
•
2.9K views
17 Web Performance Metrics You Should Care About
Evgeny Tsarkov
•
5K views
How I learned to stop worrying and love the .htaccess file
Roxana Stingu
•
6.8K views
Word campktm speed-security
Digamber Pradhan
•
595 views
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies
•
2.7K views
Fast and Easy Website Tuneups
Jeff Wisniewski
•
873 views
Web Performance Optimization
Patrick Meenan
•
1.4K views
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Bastian Grimm
•
6.4K views
A faster journey with HTTP
Michael Ewins
•
357 views
Viewers also liked
(13)
510G CV 150315 Shane Harris - General R6
Shane Harris
•
187 views
Why don't we have REAL IP to the Edge in Buildings?
Memoori
•
304 views
EL FUTURO DEL AGUA: TRATAMIENTO Y REUTILIZACIÓN.
Alba Santos Ortega
•
261 views
Institutional Change and Parental Compensation in Intergenerational attainment
TITA research
•
129 views
Презентация 1.20 - Радиофикация
Илья Конышев
•
233 views
Presentacion del sector
mayraMeneses-23
•
319 views
Pri pro presentasion
yoprst
•
2.3K views
My Presentation
Laura Barker
•
119 views
Twitter for Researchers
University of York Library
•
45.2K views
Hcv - immune evasion mechanisms
Marina Ibrahim
•
1.3K views
Seres autenticos
amstramgramduval
•
7.1K views
IoT DDoS Attacks: the stakes have changed
Great Bay Software
•
599 views
Unit 2 Rules
Grace Ng
•
3.4K views
Advertisement
Similar to API Best Practices
(20)
Creating Great REST and gRPC API Experiences (in Swift)
Tim Burks
•
1.8K views
Talking to Web Services
DrupalcampAtlanta2012
•
997 views
High Availability by Design
David Prinzing
•
407 views
URL Design
Walter Ebert
•
2.6K views
ASP.NET WEB API Training
Chalermpon Areepong
•
3.4K views
distributing over the web
Nicola Baldi
•
544 views
Construindo APIs Usando Rails
Fernando Kakimoto
•
1.9K views
Rapid java backend and api development for mobile devices
ciklum_ods
•
1.9K views
Performance #4 network
Vitali Pekelis
•
533 views
Ruby HTTP clients comparison
Hiroshi Nakamura
•
26.2K views
Rest with Spring
Eugen Paraschiv
•
3.2K views
Automate That! Scripting Atlassian applications in Python
Atlassian
•
7K views
Automate that
Atlassian
•
15.1K views
REST Web Sebvice
khmerforge
•
671 views
API Design- Best Practices
Prakash Bhandari
•
645 views
Rest web services
Paulo Gandra de Sousa
•
7.7K views
Android App Development 06 : Network & Web Services
Anuchit Chalothorn
•
2.8K views
Consuming GRIN GLOBAL Webservices
Edwin Rojas
•
366 views
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
Matt O'Keefe
•
11.6K views
Service approach for development Rest API in Symfony2
Sumy PHP User Grpoup
•
1.5K views
More from Uri Lavi
(8)
JavaScript TDD
Uri Lavi
•
1.1K views
Intro to Mahout
Uri Lavi
•
3K views
Cloud Aware Architecture
Uri Lavi
•
486 views
Software craftsmanship - 4
Uri Lavi
•
562 views
Software Craftsmanship - 3
Uri Lavi
•
741 views
Software Craftsmanship - 2
Uri Lavi
•
2.8K views
Software Craftsmanship - 1 Meeting
Uri Lavi
•
835 views
Effective Code Review
Uri Lavi
•
1.5K views
Advertisement
Recently uploaded
(20)
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
ICS
•
0 views
H3C Corporate Brochure.pdf
AbdulRehmanAbid6
•
0 views
UNCOVERING MYTHS ABOUT CLOUD COMPUTING - IS IT.pptx
OsazeeOboh
•
0 views
Hoshizaki HS-0199 - Motor, Pump - PartsFe.pdf
PartsFe
•
0 views
The Truth Revealed: Can Airpods still be tracked after reset?
AffanIT1
•
0 views
AES.ppt
BincySam2
•
0 views
Future Managers with New Technology.pptx
Simhadri Bhavana
•
0 views
Temporary Tattoo.pdf
DevDeshpande2
•
0 views
W-6-7-Ch-5-Tank Suspension system.pptx
vishnoo7
•
0 views
W-2-Ch-2-Intro to Power plants.ppt
vishnoo7
•
0 views
CRYPTO-BIKE Pitch deck.pdf
CryptoBikeMailer
•
0 views
ppt on Online IDE.pptx
DhirajTaye
•
0 views
Carrier Aggregation in LTE Advanced.pdf
SherifHassan89
•
0 views
Unlock the power of MLOps.pdf
StephenAmell4
•
0 views
Breaking Boundaries: Unveiling Web Development Trends 2019 Thoroughly.pptx
Sagar Salvi
•
0 views
DeFi: Meaning and Application in the World of Crypto
Chima Ezuo
•
0 views
Cloud Forensics and Incident Response Training.pdf
Christopher Doman
•
0 views
COMPUTATIONAL ANALYSIS OF CIS-REGULATORY ELEMENTS AND ASSOCIATED TRANSCRIPTIO...
VartikaRai17
•
0 views
Digital Mining Solutions Simplified With VTPL
UpasnaBagrodia
•
0 views
Cloud Forensics Tools
Christopher Doman
•
0 views
API Best Practices
API Best Practices
@urilavi http://bit.ly/scisr
Public API/ Web
API HTTP / HTTPS XML/JSON
Rule #0
http://www.flickr.com/photos/holeymoon/2131118247/
Rule #1 -
Funnel Try Build Adopt
Simplicity? TDD public API At
least 3 clients Different languages http://www.flickr.com/photos/giosp/3933753363/
Cross Cutting Concerns
Authentication/Authorization Versioning Sync/Async Re-entrance Pagination Caching Throttling
RESTfulness
* Use plural names (reads better with GET) * Avoid methods (it isn’t traversal and grows fast) Nouns (Method-less) 2 base URLS per resource /events /events/10
RESTfulness HTTP Verbs on
collections/elements Create POST /events Fetch GET /events/12345 Update PUT /events/12345
Method-based
* Use verbs * Make the documentation clear that these are “non resource” operations Convert Translate
Rule #2 -
Relationships
Rule #2 -
Relationships Keep it simple - 3 levels
Rule #2 -
Relationships Keep it simple - 3 levels GET /lecturers/events/10
Rule #3 -
Complexity? http://www.flickr.com/photos/takomabibelot/4373062612/
Rule #4 -
Versioning * Maintain at least one version back GET api/v1/events/10
Rule #4 -
Versioning * Maintain at least one version back GET api/v1/events/10
Rule #5 -
Errors HTTP status codes {200, 400, 500} Verbose messages link to documentation
Rule #6 -
Sync / Async Result available - sync Result available in x time - async PicScout’s API
Rule #7- Re-entrance
http://www.flickr.com/photos/leovan/2152274834/ POST /funds/accounts/1000/ {‘value’: 100, ‘token’: ‘xbds213’}
Rule #8 -
Formatting JaaD = JSON as a Default
Rule #9 -
Automation? http://www.flickr.com/photos/r80o/39304743/ APIs are for humans
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Advertisement