dead simple apis with openapi - linuxrecruit.co.uk of dead simple apis with... · @dragonmantank...
TRANSCRIPT
@dragonmantank
Dead Simple APIs with OpenAPI
@dragonmantank
What is OpenAPI?
@dragonmantank
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
(It's a specification)
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
(It's a specification)
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
(It's a specification)
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
(It's a specification)
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
(It's a specification)
● Define endpoints that are available
● What verbs can be used
● What responses look like
● Authentication Methods
http://spec.openapis.org/oas/v3.0.3
@dragonmantank
Why OpenAPI?
@dragonmantank
Description as Code
@dragonmantank
@dragonmantank
Documentation Generation
@dragonmantank https://github.com/Nexmo/nexmo-oas-renderer
@dragonmantank
Designing APIs
@dragonmantank
openapi: 3.0.0info: version: 1.2.5 title: Voice APIservers:- url: https://api.nexmo.com/v1/callspaths: "/": get: security: - bearerAuth: [] description: Get details parameters: - name: status in: query schema: type: string responses: '200': description: Ok
https://swagger.io/docs/specification/basic-structure/
@dragonmantank https://stoplight.io/studio/
@dragonmantank
@dragonmantank
@dragonmantank
@dragonmantank
@dragonmantank
@dragonmantank
Prototyping and Mocking APIs
@dragonmantank
@dragonmantank
@dragonmantank
@dragonmantank https://www.postman.com/
@dragonmantank https://www.postman.com/collection
@dragonmantank
Generating API Code
https://github.com/OpenAPITools/openapi-generator
@dragonmantank
● ASP.Net● C++● Golang● Java● PHP● NodeJS Express● Ruby on Rails
@dragonmantank
$ openapi-generator-cli \ generate \ -i demo.yaml \ -g javascript \ -o $(pwd)/js
@dragonmantank