API Documentation - alexanderteplov/computer-science GitHub Wiki
The OpenAPI Specification is a standard format to define structure and syntax REST APIs. OpenAPI documents are both machine and human-readable, which enables anyone to easily determine how each API works. Engineers building APIs can use APIs to plan and design servers, generate code and implement contract testing. Former Swagger specification.
- Generate accurate documentation
- Create stub code for API development
- Build mock servers to prototype the interface
- Test that API requests and responses match the intended contract
A document written to the OpenAPI specification can use either JSON or YAML to express the API’s capabilities. These formats are interchangeable and include the same elements.
There are three primary areas in every OpenAPI document:
- Endpoints (i.e. paths appended to the server URL) and the HTTP methods they support. For each method, any parameters that may or must be included in the request and the response formats for the possible HTTP response codes are specified.
- Reusable components that can be used across multiple endpoints in the API, such as common request parameters and response formats.
- Meta information, including the title, version, and description of the API, authentication method, and location of the API servers.
Set of tools for work with OpenAPI.
- Swagger Editor - API editor for designing APIs with the OpenAPI Specification
- Swagger UI - Visualize OpenAPI Specification definitions in an interactive UI
- Swagger Codegen - Generate server stubs and client SDKs from OpenAPI Specification definitions
- API Design
- API Development
- API Documentation
- API Testing
- API Mocking and Virtualization
- API Governance
- API Monitoring
- Cannot be used for documenting APIs with one URL and one method (level 0 from the Richardson Maturity Model HTTP), e.g., JSON-RPC
It positions itself as Inline Documentation for RESTful web APIs. apiDoc creates documentation from API annotations in your source code.
- It generates an API web page as structured documentation.
- It supports versioning and comparison between versions.
- You possibly may use it with JSON-RPC as well.
- As far as I got from their presentation, support only Code first approach.
- It's Less powerful than Swagger tools.
there will be something