OpenAPIs tools: Difference between revisions
Jump to navigation
Jump to search
(Created page with "__TOC__ = Conversions among different formats = == AsciiDoctor == * Written in Ruby, Gem available * http://asciidoctor.org/docs/ * Converts AsciiDoc to many formats, inclu...") |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
= | = API Design tools = | ||
== | == swagger-ui-watcher == | ||
https://github.com/moon0326/swagger-ui-watcher | |||
== Restlet == | == Restlet == | ||
Line 83: | Line 49: | ||
* https://www.getpostman.com/ | * https://www.getpostman.com/ | ||
* Automatic HTTP API test suites from JSON files | * Automatic HTTP API test suites from JSON files | ||
* [[postman-api-tool | More information]] | |||
== Swagger-test == | == Swagger-test == | ||
Line 93: | Line 60: | ||
* https://github.com/noahdietz/oatts | * https://github.com/noahdietz/oatts | ||
* Generate basic unit test scaffolding for your OpenAPI specification. | * Generate basic unit test scaffolding for your OpenAPI specification. | ||
= Conversions among different formats = | |||
== AsciiDoctor == | |||
* Written in Ruby, Gem available | |||
* http://asciidoctor.org/docs/ | |||
* Converts AsciiDoc to many formats, including PDF | |||
== Swagger2Markup == | |||
* https://github.com/Swagger2Markup/swagger2markup | |||
* Converts openapis into asciidoc or markdown | |||
== swagger2RAML == | |||
* A swagger2RAML converter tool: https://github.com/8x8Cloud/swagger2raml | |||
== OpenApis and RAML two way converters == | |||
* https://github.com/mulesoft/oas-raml-converter | |||
== Bootprint-openapi == | |||
* https://github.com/bootprint/bootprint-openapi | |||
* https://bootprint.knappi.org/ | |||
* Converts a openapi-definition into a static html page | |||
* Nodejs | |||
* https://www.npmjs.com/package/bootprint-swagger | |||
= Validation = | |||
== JSON schema validation == | |||
* http://json-schema.org/implementations.html | |||
* validating JSON against a JSON schema: An online example can be found at: http://www.jsonschemavalidator.net/. It’s worth noting that the online swagger editor (http://editor.swagger.io) doesn’t validate JSON examples contained within a definition file, since that’s deemed out of scope. | |||
* https://tools.ietf.org/html/draft-newton-json-content-rules-08 | |||
= Continuous integration = | = Continuous integration = |
Latest revision as of 14:46, 25 February 2019
API Design tools[edit | edit source]
swagger-ui-watcher[edit | edit source]
https://github.com/moon0326/swagger-ui-watcher
Restlet[edit | edit source]
- (https://restlet.com/)
- Proprietary tools to manage RestFul APIs and Microservises
- Tools:
- Studio: Online tool to graphically design APIs (paid service)
- Client: Google Chrome extension to run tests against a HTTP API
- Cloud: Deploy online API (paid service)
Splitting and merging the specifications
JSON REFS[edit | edit source]
- “json-refs is a simple library for interacting with JSON References and JSON Pointers. While the main purpose of this library is to provide JSON References features, since JSON References are a combination of Object structure and a JSON Pointer, this library also provides some features for JSON Pointers as well.”
- It will provide JSON resolution also inside YAML files and can output JSON, it is therefore useful to merge different JSON and YAML files into a larger file
- Run on NodeJS
- https://github.com/whitlockjc/json-refs
Install
$ npm I –g json-refs
Usage
$ cd folder/with/yaml/tree $ json-refs resolve –y anything.split.yaml > anything.merged.yaml
Swagger-yaml[edit | edit source]
- https://github.com/idlerun/swagger-yaml
- An alternate structure for defining a Swagger API which splits the definition into separate files which are combined by a NodeJS script prior to processing by the Swagger Generator.
Testing the APIs[edit | edit source]
Dredd[edit | edit source]
- http://dredd.readthedocs.io/en/latest/
- HTTP API Testing Framework, Dredd is a language-agnostic command-line tool for validating API description document against backend implementation of the API, Dredd reads your API description and step by step validates whether your API implementation replies with responses as they are described in the documentation.
- Supports OpenAPI and API blueprint files
Postman[edit | edit source]
- https://www.getpostman.com/
- Automatic HTTP API test suites from JSON files
- More information
Swagger-test[edit | edit source]
- https://www.npmjs.com/package/swagger-test
- Specification-driven REST API testing
Oatts[edit | edit source]
- https://github.com/noahdietz/oatts
- Generate basic unit test scaffolding for your OpenAPI specification.
Conversions among different formats[edit | edit source]
AsciiDoctor[edit | edit source]
- Written in Ruby, Gem available
- http://asciidoctor.org/docs/
- Converts AsciiDoc to many formats, including PDF
Swagger2Markup[edit | edit source]
- https://github.com/Swagger2Markup/swagger2markup
- Converts openapis into asciidoc or markdown
swagger2RAML[edit | edit source]
- A swagger2RAML converter tool: https://github.com/8x8Cloud/swagger2raml
OpenApis and RAML two way converters[edit | edit source]
Bootprint-openapi[edit | edit source]
- https://github.com/bootprint/bootprint-openapi
- https://bootprint.knappi.org/
- Converts a openapi-definition into a static html page
- Nodejs
- https://www.npmjs.com/package/bootprint-swagger
Validation[edit | edit source]
JSON schema validation[edit | edit source]
- http://json-schema.org/implementations.html
- validating JSON against a JSON schema: An online example can be found at: http://www.jsonschemavalidator.net/. It’s worth noting that the online swagger editor (http://editor.swagger.io) doesn’t validate JSON examples contained within a definition file, since that’s deemed out of scope.
- https://tools.ietf.org/html/draft-newton-json-content-rules-08
Continuous integration[edit | edit source]
Validating Swagger Specs with Jenkins[edit | edit source]
- https://drewish.com/2017/03/23/validate-swagger-docs-in-jenkins/
- It uses some bash scripting to send the JSON off to the the Swagger Validator Badge.
Detect breakage between versions of API[edit | edit source]
- Using Swagger to detect breaking API changes
- https://github.com/civisanalytics/swagger-diff
- https://github.com/zallek/swagger-diff
- https://www.npmjs.com/package/swagger-diff