Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Stop writing your API clients by hand
Search
Alan Cooke
August 22, 2018
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Stop writing your API clients by hand
Introduction and demo of how one can use the Open API Spec to generate API clients on demand.
Alan Cooke
August 22, 2018
More Decks by Alan Cooke
See All by Alan Cooke
Robots, the best testers your will ever ever build
a1cooke
0
62
ROBOTS, THE BEST TESTERS YOU WILL EVER BUILD
a1cooke
0
160
Tales of a rebuild
a1cooke
0
38
Modernizing Objective-C using Swift
a1cooke
0
96
GDG August 2015 - Retrofit + GSON
a1cooke
0
77
Other Decks in Programming
See All in Programming
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Next.js: The final boss of Web Performance
guaca
0
250
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
300
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
AWSに止められる覚悟してますか?
morizo_1984
2
530
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
190
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
sbt 2.0: takeoff
eed3si9n
0
160
すこし踏み込む CancellationToken
htkym
2
1.7k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
How to train your dragon (web standard)
notwaldorf
96
6.9k
Building AI with AI
inesmontani
PRO
1
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Transcript
Stop writing your API clients by hand
None
Alan Cooke — Senior Staff Engineer, Mobile
None
None
None
Open API aka Swagger — Open standard — Machine readable
— Language agnostic approach to API specification
None
Path specification paths: /v2/track: post: operationId: Track summary: Track tags:
- Event consumes: - application/json parameters: - name: body in: body schema: $ref: '#/definitions/Event' responses: '200': description: '' security: - X-Outbound-Key: []
Model specification definitions: User: title: User type: object properties: user_id:
type: string first_name: type: string last_name: type: string email: type: string required: - user_id
Security schemes securityDefinitions: X-Outbound-Key: name: X-Outbound-Key type: apiKey in: header
Tooling — Open source tools — Node service you run
locally or hosting service, allows you edit and mock APIs — Commercial tooling — Stoplight.io
Code generators — Open Source repo: https://github.com/swagger-api/ swagger-codegen/ Project broken
into two parts 1. Command Line Interface - swagger-codegen-cli 1. Code generator - swagger-codegen
Writing your own generator 1. Java class, allows you todo
any special pre/post processing of models 2. Collection of mustache template files used to translate model into code
public struct {{classname}}: Codable { {{#allVars}} {{#description}}/** {{description}} */ {{/description}}public
var {{name}}: {{{datatype}}} {{^required}}?{{/required}} {{#defaultValue}} = {{{defaultValue}}}{{/defaultValue}} {{/allVars}} }
None
Demo
Questions
None