36 lines
961 B
Markdown
36 lines
961 B
Markdown
|
# Swagger or OpenAPI
|
||
|
|
||
|
My company currently use Swagger 2 to document API.
|
||
|
|
||
|
I want to work with OpenAPI 3 but too lazy to convert (for now of course).
|
||
|
|
||
|
So step by step:
|
||
|
|
||
|
- Write API spec in `YAML`.
|
||
|
- Convert to API spec in `JSON`.
|
||
|
- Format spec files.
|
||
|
- Render spec in local.
|
||
|
- Push to company host for other teams to see.
|
||
|
|
||
|
Only step 1 is manual, aka I write my API spec completely with my hand (no auto gen from code whatever).
|
||
|
The others can be done with tools:
|
||
|
|
||
|
```sh
|
||
|
# Convert
|
||
|
go install github.com/mikefarah/yq/v4@latest
|
||
|
yq -o=json '.' ./docs/swagger.yaml > ./docs/swagger.json
|
||
|
|
||
|
# Format
|
||
|
bunx prettier --write ./docs/swagger.yaml ./docs/swagger.json
|
||
|
|
||
|
# Render locally
|
||
|
bunx @redocly/cli preview-docs ./docs/swagger.json
|
||
|
```
|
||
|
|
||
|
## Thanks
|
||
|
|
||
|
- [mikefarah/yq](https://github.com/mikefarah/yq)
|
||
|
- [oven-sh/bun](https://github.com/oven-sh/bun)
|
||
|
- [prettier/prettier](https://github.com/prettier/prettier)
|
||
|
- [Redocly/redocly-cli](https://github.com/Redocly/redocly-cli)
|