SlideShare a Scribd company logo
Swagger
Make your API accessible
Victor Trakhtenberg
victortr75@gmail.com @victortr75
Personal
My name is Victor
Almost 15 years of software development
Chief Architect @
Architecture
SOA
APIs
https://twitter.com/dcorpa
Architecture
APIs are for humans
Documentation
http://www.infoq.com/resource/presentations/API-Humans/en/slides/sl23.jpg
Documentation
Documentation
• No standard
• Ad-hoc attributes
• Managed manually
• Not up to date
• …..
http://www.imagineyourreality.com/business-coaching/documentation.html
API Listing
API Operations
API parameters and return types
Swagger is…
• producing
• consuming
• visualizing
RESTful APIs
A framework
for
• describing
• documenting
RESTful APIs
A specification
for
Technology Methodology
The Swagger Specification
It’s a spec!
• JSON to specify metadata
• JSON to specify API structure
• JSON schema for the model
specification
• Machine readable
• Language agnostic
Agenda
• Introduction
• Deep Dive
• The technology
• Swagger is not
• Alternatives
• Dev process
• Deployment process
• References
Deep Dive
Swagger - API Listing
Swagger - API Listing - JSON
Swagger – API Listing - Annotations
Swagger - API Details
Swagger – Test the API
Swagger - API Details - JSON
Swagger – API Details - Annotations
The Technology
Reverb - Wordnik
Atmosphere – Scalatra – JSON4S
The Technology – Scala based
• swagger-core
• swagger-codegen
• swagger-ui
Server side integrations
• Django
• Node.js
• JAX-RS
• RESTEasy
• Grails
• Play 2
• Scalatra
• go-restful
• SpringMVC
• ServiceStack .net/MONO
• Swagger-PHP
• Symphony 2
• Grape-swagger for Ruby
• Octohipster for Clojure
• More…
Client code generation
• Java
• Scala
• Groovy
• Clojure
• Python
• Ruby
• ObjectiveC
• C#
• PHP
• Javascript
• Custom
• Uses {{mustache}} templates
Swagger is not
• Does not support multiple API versions
• Does not tell how to write the API
–Delete an object by HTTP DELETE or via
HTTP GET with query param
• Is not trying to solve all problems for all
APIs
Alternatives
• SOAP/WSDL
– http://www.w3.org/TR/wsdl
• WADL
– http://en.wikipedia.org/wiki/Web_Application_Descriptio
n_Language
• Mashery IO-Docs
– http://www.mashery.com/product/io-docs
– https://github.com/mashery/iodocs
• http://apiary.io/
• Homegrown
Dev Process
API development approaches
API specification first
–Write the JSON spec
–Generate the API stubs
–Implement the APIs
–Publish
API development approaches
API implementation first
–Implement the API
–Put the annotations in place
Deployment Process
Dev/Test environment
Annotate the APIs
Make swagger UI accessible from
the application itself
Dev/Test environment
View the documentation locally
Test the APIs using swagger UI
Dev/Test environment
Generate internal clients based on
swagger specification
Production environment
Make swagger UI
NOT accessible from the application
itself
Production environment
Automatically generate external
swagger static resources
Production environment
Deploy on dedicated web server
Synchronize the documentation
Production environment
Generate external clients based on
swagger specification
References
• Swagger home:
– https://developers.helloreverb.com/swagger/
• Swagger specification
– https://github.com/wordnik/swagger-core/wiki
• Swagger Demo
– http://petstore.swagger.wordnik.com/
• Wordnik APIs
– http://developer.wordnik.com/docs.html#!/account
Make your API accessible
Use Swagger!

More Related Content

ODP
Introduction to Swagger
PDF
Designing APIs with OpenAPI Spec
PPTX
Introducing Swagger
PPTX
What is Swagger?
PDF
Developing Faster with Swagger
PDF
Swagger With REST APIs.pptx.pdf
PDF
Swagger UI
Introduction to Swagger
Designing APIs with OpenAPI Spec
Introducing Swagger
What is Swagger?
Developing Faster with Swagger
Swagger With REST APIs.pptx.pdf
Swagger UI

What's hot (20)

PPTX
Document your rest api using swagger - Devoxx 2015
PDF
OpenAPI 3.0, And What It Means for the Future of Swagger
PDF
Documenting your REST API with Swagger - JOIN 2014
PDF
Introduction to GraphQL
PDF
Firebase slide
PDF
Building APIs with the OpenApi Spec
PPTX
Introduction to GraphQL
PPT
Postman.ppt
PPTX
Progressive Web App Testing With Cypress.io
PDF
Apigee Demo: API Platform Overview
PDF
Spring Boot
PPTX
PDF
Getting started with Next.js
PDF
GraphQL Fundamentals
PPTX
Angular Data Binding
PPTX
Introduction to angular with a simple but complete project
PPTX
Spring boot Introduction
PPTX
Api Testing
PPTX
Introduction to spring boot
PPTX
REST API
Document your rest api using swagger - Devoxx 2015
OpenAPI 3.0, And What It Means for the Future of Swagger
Documenting your REST API with Swagger - JOIN 2014
Introduction to GraphQL
Firebase slide
Building APIs with the OpenApi Spec
Introduction to GraphQL
Postman.ppt
Progressive Web App Testing With Cypress.io
Apigee Demo: API Platform Overview
Spring Boot
Getting started with Next.js
GraphQL Fundamentals
Angular Data Binding
Introduction to angular with a simple but complete project
Spring boot Introduction
Api Testing
Introduction to spring boot
REST API
Ad

Viewers also liked (20)

PPTX
Consuming Restful APIs using Swagger v2.0
PPTX
Understanding how to use Swagger and its tools
PDF
Swagger / Quick Start Guide
PDF
Swagger for-your-api
PPTX
Iterative Development with Swagger on the JDK
PPT
A Tour of Swagger for APIs
PPTX
Swagger pour documenter votre REST API - présentation en français
PPTX
Swagger in the API Lifecycle
PPTX
API Design first with Swagger
PDF
API Developer Experience: Why it Matters, and How Documenting Your API with S...
PDF
Swagger, language pour décrire des API REST
PPTX
Building APIs with Node.js and Swagger
PDF
Streamlining API with Swagger.io
PDF
API Centric Development in PHP
PPTX
Swagger
PPTX
Introducing swagger
PPTX
Writer APIs in Java faster with Swagger Inflector
PPTX
Gaze detection with Virtual Reality and Unity 3d
PDF
Introduction to Django REST Framework, an easy way to build REST framework in...
PDF
ASP.NET Web API Deep Dive - SSD 2016 London
Consuming Restful APIs using Swagger v2.0
Understanding how to use Swagger and its tools
Swagger / Quick Start Guide
Swagger for-your-api
Iterative Development with Swagger on the JDK
A Tour of Swagger for APIs
Swagger pour documenter votre REST API - présentation en français
Swagger in the API Lifecycle
API Design first with Swagger
API Developer Experience: Why it Matters, and How Documenting Your API with S...
Swagger, language pour décrire des API REST
Building APIs with Node.js and Swagger
Streamlining API with Swagger.io
API Centric Development in PHP
Swagger
Introducing swagger
Writer APIs in Java faster with Swagger Inflector
Gaze detection with Virtual Reality and Unity 3d
Introduction to Django REST Framework, an easy way to build REST framework in...
ASP.NET Web API Deep Dive - SSD 2016 London
Ad

Similar to Swagger - make your API accessible (20)

PDF
Swagger code motion talk
PDF
Swagger - Make your REST APIs accessible - Victor Trakhtenberg
PPTX
Love your API with Swagger (Gluecon lightning talk)
PDF
Swagger 2.0: Latest and Greatest
PPTX
Swagger - Making REST APIs friendlier
PPTX
API Description Languages: Which is the Right One for Me?
PPTX
API Description Languages: Which is the Right One for Me?
PPTX
Rest API with Swagger and NodeJS
PDF
API Description Languages: Which Is The Right One For Me?
PPTX
Everybody loves Swagger
PPTX
Swagger for startups
PPTX
Scaling with swagger
PDF
API Description Languages
PDF
API Description Languages
PPTX
Swagger APIs for Humans and Robots (Gluecon)
PPTX
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
PDF
Fastest to Mobile with Scalatra + Swagger
PPTX
Tools and techniques for APIs
PPTX
Another API-Blueprint, RAML and Swagger Comparison
PDF
"Design First" APIs with Swagger
Swagger code motion talk
Swagger - Make your REST APIs accessible - Victor Trakhtenberg
Love your API with Swagger (Gluecon lightning talk)
Swagger 2.0: Latest and Greatest
Swagger - Making REST APIs friendlier
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
Rest API with Swagger and NodeJS
API Description Languages: Which Is The Right One For Me?
Everybody loves Swagger
Swagger for startups
Scaling with swagger
API Description Languages
API Description Languages
Swagger APIs for Humans and Robots (Gluecon)
Everybody loves Swagger (Massimo Crippa @ Integration Monday)
Fastest to Mobile with Scalatra + Swagger
Tools and techniques for APIs
Another API-Blueprint, RAML and Swagger Comparison
"Design First" APIs with Swagger

More from Victor Trakhtenberg (7)

PPTX
We codeil save kermit
PPTX
Confessions of a java developer that fell in love with the groovy language
PPTX
WeCode IL: Confessions of a java developer that fell in love with the groovy...
PPTX
WeCode IL: Save Kermit
PDF
Java.il - Confessions of a java developer that fell in love with the groovy l...
PPTX
Confessions of a java developer that fell in love with the groovy language
PPTX
Sc11 presentation 2001_06_28
We codeil save kermit
Confessions of a java developer that fell in love with the groovy language
WeCode IL: Confessions of a java developer that fell in love with the groovy...
WeCode IL: Save Kermit
Java.il - Confessions of a java developer that fell in love with the groovy l...
Confessions of a java developer that fell in love with the groovy language
Sc11 presentation 2001_06_28

Recently uploaded (20)

PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
KodekX | Application Modernization Development
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Modernizing your data center with Dell and AMD
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25 Week I
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
The Rise and Fall of 3GPP – Time for a Sabbatical?
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Mobile App Security Testing_ A Comprehensive Guide.pdf
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Modernizing your data center with Dell and AMD
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.

Swagger - make your API accessible