Design-Driven
API Development
Sokichi Fujita
Generation of
API Description Languages
Swagger
RAML
API-Blueprint
API Description Languages
• XML
• WADL, RADL, WSDL2
• JSON
• Swagger, I/O Docs
• YAML
• Swagger, RAML
• Markdown
• API-Blueprint
Popular in GitHub, NPM, …
Why
Server
Code
API
Document
SDKs
Specification
Document
Samples
Mock Server
API Console
Test code
Manually developed resources
as a reference
Server
Code
API
Document
SDKs
Samples
Mock Server
API Console
Test code
Manually developed resources
It is incorrect
or
doesn’t exist
Sometimes,
To avoid publishing un-updatable APIs
• Publishing or updating API are not so hard,
• if you can ignore lots of related resources.
• e.g. SDKs, Documents, Tests, Clients, …
Design-Driven
Development
Server
Code
API
Document
SDKs
API
Schema
generate/validate
SamplesAPI ConsoleMock Server
Non-manually developed resources
codegenswagger-UIswagger-node
swagger-spec
swagger-editor
swagger-js
Demo
Demo
• Hacker News API
• Swagger-Node
• Hacker News Client
• React, Swagger-js, Electron
Swagger-nodeElectron
*.yaml
Swagger
Editor
Express
express-swagger
controller
React
Swagger-js
- component
DidMount etc.
state
render
(Dynamically
JS SDK)
Cheerio
https://news.ycombinator.com
Server : Swagger-Node
swagger project create [project name]
swagger project edit
1. Generate a template for express | hapi | restify | sails
2. Write API specs
vim api/controller/[controller file name].js
3. Just write controllers that meet the API specs
Design Driven API Development
filename of the controllers
name of the controller
Client : Swagger-js
var swagger = new SwaggerClient({
url: "http://localhost:8080/swagger.yaml",
success: function() {
swagger.apis.hackernews.fetch(
{page:api}, {responseContentType: 'application/
json'},
function(res) {
:
});
}
});
Dynamically Swagger SDK for JavaScript
Client : Swagger-js with React
var self = this;
var swagger = new SwaggerClient({
url: "http://localhost:8080/swagger.yaml",
success: function() {
swagger.apis.hackernews.fetch(
{page:api}, {responseContentType: 'application/json'},
function(res) {
self.setState({data:res.obj});
});
}
});
at componentDidMount

More Related Content

PPTX
Swagger - make your API accessible
PPTX
Swagger APIs for Humans and Robots (Gluecon)
PPTX
Swagger in the API Lifecycle
PPTX
Rest API with Swagger and NodeJS
PPTX
Building APIs with Node.js and Swagger
PDF
Developing Faster with Swagger
PDF
Implement Web API with Swagger
PDF
Swagger for-your-api
Swagger - make your API accessible
Swagger APIs for Humans and Robots (Gluecon)
Swagger in the API Lifecycle
Rest API with Swagger and NodeJS
Building APIs with Node.js and Swagger
Developing Faster with Swagger
Implement Web API with Swagger
Swagger for-your-api

What's hot (20)

PPTX
Understanding how to use Swagger and its tools
PPTX
Introducing swagger
PDF
Documenting your REST API with Swagger - JOIN 2014
PDF
Quick run in with Swagger
PPT
A Tour of Swagger for APIs
PPTX
Swagger 2.0 and Model-driven APIs
PPTX
Document your rest api using swagger - Devoxx 2015
PDF
Streamlining API with Swagger.io
PPTX
Introducing Swagger
PPTX
Consuming Restful APIs using Swagger v2.0
PPTX
Writer APIs in Java faster with Swagger Inflector
PDF
Exposing Salesforce REST Services Using Swagger
PDF
Swagger / Quick Start Guide
PDF
Swagger 2.0: Latest and Greatest
PPTX
Everybody loves Swagger
PPTX
API Design first with Swagger
PDF
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
PDF
OpenAPI development with Python
PPTX
What is Swagger?
Understanding how to use Swagger and its tools
Introducing swagger
Documenting your REST API with Swagger - JOIN 2014
Quick run in with Swagger
A Tour of Swagger for APIs
Swagger 2.0 and Model-driven APIs
Document your rest api using swagger - Devoxx 2015
Streamlining API with Swagger.io
Introducing Swagger
Consuming Restful APIs using Swagger v2.0
Writer APIs in Java faster with Swagger Inflector
Exposing Salesforce REST Services Using Swagger
Swagger / Quick Start Guide
Swagger 2.0: Latest and Greatest
Everybody loves Swagger
API Design first with Swagger
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesome
OpenAPI development with Python
What is Swagger?
Ad

Viewers also liked (20)

PDF
API Description Languages
PPTX
Another API-Blueprint, RAML and Swagger Comparison
PDF
Ultimate Guide to 30+ API Documentation Solutions
PPTX
Managing api development
PDF
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
PPTX
Design-first API Development using Swagger and Node
PDF
API Developer Experience: Why it Matters, and How Documenting Your API with S...
PDF
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
PDF
WebAPIのこれまでとこれから
PDF
Design & Deploy a data-driven Web API in 2 hours
PDF
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
PDF
API Docs Made Right / RAML - Swagger rant
PDF
Case Study: Rogers Communications Integrates CA API Management and CA Service...
PPTX
Birds Eye View on API Development - v1.0
PPTX
VRとWeb API
PDF
Getting Developers hooked on your API by Nicolas Garnier at Codemotion Dubai
PDF
CA API Management: A DevOps Enabler
PDF
オープンイノベーション事例 アップル
PDF
Battelfield REST, API Development from the trenches
PPT
クルマ情報を扱うREST APIの仕様と課題について
API Description Languages
Another API-Blueprint, RAML and Swagger Comparison
Ultimate Guide to 30+ API Documentation Solutions
Managing api development
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Design-first API Development using Swagger and Node
API Developer Experience: Why it Matters, and How Documenting Your API with S...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
WebAPIのこれまでとこれから
Design & Deploy a data-driven Web API in 2 hours
Pitney Bowes Uses Development and Testing Tools to Drive Early API Developmen...
API Docs Made Right / RAML - Swagger rant
Case Study: Rogers Communications Integrates CA API Management and CA Service...
Birds Eye View on API Development - v1.0
VRとWeb API
Getting Developers hooked on your API by Nicolas Garnier at Codemotion Dubai
CA API Management: A DevOps Enabler
オープンイノベーション事例 アップル
Battelfield REST, API Development from the trenches
クルマ情報を扱うREST APIの仕様と課題について
Ad

Similar to Design Driven API Development (20)

PDF
API Description Languages: Which Is The Right One For Me?
PDF
API Description Languages
PPTX
API Description Languages: Which is the Right One for Me?
PPTX
API Description Languages: Which is the Right One for Me?
PPTX
dod-api-meetup-03262015-swagger-docs
PDF
"Design First" APIs with Swagger
PPTX
API Conference 2021
PPTX
API workshop: Introduction to APIs (TC Camp)
PDF
PyCon PL 2014 executable api
PDF
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
PPTX
Swagger for startups
PPTX
APIdays Paris 2014 - The State of Web API Languages
PPTX
Swagger - Making REST APIs friendlier
PPTX
PyBCN 2020
PPTX
Tools and techniques for APIs
PDF
Test-Driven Documentation for your REST(ful) service
PPTX
Developing and Hosting REST APIs 3.7
PPTX
Love your API with Swagger (Gluecon lightning talk)
PPTX
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
PPTX
Contract driven development
API Description Languages: Which Is The Right One For Me?
API Description Languages
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
dod-api-meetup-03262015-swagger-docs
"Design First" APIs with Swagger
API Conference 2021
API workshop: Introduction to APIs (TC Camp)
PyCon PL 2014 executable api
I Love APIs 2015: Create Design-driven APIs with Node.js and Swagger
Swagger for startups
APIdays Paris 2014 - The State of Web API Languages
Swagger - Making REST APIs friendlier
PyBCN 2020
Tools and techniques for APIs
Test-Driven Documentation for your REST(ful) service
Developing and Hosting REST APIs 3.7
Love your API with Swagger (Gluecon lightning talk)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Contract driven development

Recently uploaded (20)

PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Auditboard EB SOX Playbook 2023 edition.
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PPTX
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PPTX
Training Program for knowledge in solar cell and solar industry
PDF
LMS bot: enhanced learning management systems for improved student learning e...
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Lung cancer patients survival prediction using outlier detection and optimize...
Rapid Prototyping: A lecture on prototyping techniques for interface design
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Auditboard EB SOX Playbook 2023 edition.
Advancing precision in air quality forecasting through machine learning integ...
Connector Corner: Transform Unstructured Documents with Agentic Automation
agenticai-neweraofintelligence-250529192801-1b5e6870.pptx
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
NewMind AI Weekly Chronicles – August ’25 Week IV
Early detection and classification of bone marrow changes in lumbar vertebrae...
Training Program for knowledge in solar cell and solar industry
LMS bot: enhanced learning management systems for improved student learning e...
giants, standing on the shoulders of - by Daniel Stenberg
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf

Design Driven API Development