Session 4 - REST API Design, Development & Management _ API Specification
Session 4 - REST API Design, Development & Management _ API Specification
Management
Analysis
Mocking
&
Validations
Vibrant community
https://github.com/swagger-api
JSON YAML
Definitions
$ref
paths
$ref
Info
Contact License
● version
● title ● name ● name
● description ● url ● url
● email
Root Document
● host api.domain.com:3000
● basePath v1
● schemes[:string] http, https
● consumes[string]
application/json, application/xml
● produces[string]
tags[]
Tag # 1 Tag # 2
● name ● name
● description ● description
● Referred in Paths/Operations
externalDocs
● description
● url
Definitions
definitions
Request/Response #1 Request/Response #1
schema schema
examples examples
parameter #1 parameter #1
● name ● name
● description ● description
schema schema
● in ● in
● required ● required
{
body,
query,
Required : in == body header,
path,
formData
} REST API Design, Development & Management
Open API (Swagger) Parameter naming
Query https://mybank.com/api/v1/accounts?status=active
Path https://mybank.com/api/v1/accounts/{id}
/{path}
Tags[]
Security
External Documentation
Summary
Summary Consumes
MIME types
Description Produces
Tags[]
External Documentation
External Documentation
Your task is to