mirror of
https://github.com/metosin/reitit.git
synced 2025-12-22 02:21:11 +00:00
Merge pull request #711 from metosin/doc-named-schemas
document status of named definition support for openapi&swagger
This commit is contained in:
commit
e86662561f
2 changed files with 27 additions and 1 deletions
|
|
@ -5,6 +5,7 @@
|
||||||
Reitit can generate [OpenAPI 3.1.0](https://spec.openapis.org/oas/v3.1.0)
|
Reitit can generate [OpenAPI 3.1.0](https://spec.openapis.org/oas/v3.1.0)
|
||||||
documentation. The feature works similarly to [Swagger documentation](swagger.md).
|
documentation. The feature works similarly to [Swagger documentation](swagger.md).
|
||||||
|
|
||||||
|
The main example is [examples/openapi](../../examples/openapi).
|
||||||
The
|
The
|
||||||
[ring-malli-swagger](../../examples/ring-malli-swagger)
|
[ring-malli-swagger](../../examples/ring-malli-swagger)
|
||||||
and
|
and
|
||||||
|
|
@ -194,3 +195,17 @@ represents query parameters.
|
||||||
{:parameters {:query [:map
|
{:parameters {:query [:map
|
||||||
[:a {:json-schema/example 1} :int]]}}
|
[:a {:json-schema/example 1} :int]]}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Named schemas
|
||||||
|
|
||||||
|
OpenAPI supports reusable schema objects that can be referred to with
|
||||||
|
the `"$ref": "#/components/schemas/Foo"` json-schema syntax. This is
|
||||||
|
useful when you have multiple endpoints that use the same schema. It
|
||||||
|
can also make OpenAPI-based code nicer for consumers of your API.
|
||||||
|
These schemas are also rendered in their own section in Swagger UI.
|
||||||
|
|
||||||
|
Reusable schema objects are generated for Malli `:ref`s and vars. The
|
||||||
|
[openapi example](../../examples/openapi) showcases this.
|
||||||
|
|
||||||
|
Currently (as of 0.7.2), reusable schema objects are **not** generated
|
||||||
|
for Plumatic Schema or Spec.
|
||||||
|
|
|
||||||
|
|
@ -286,7 +286,18 @@ Example with:
|
||||||
; ("/common/ping" "/one/ping" "/two/ping" "/two/deep/ping")
|
; ("/common/ping" "/one/ping" "/two/ping" "/two/deep/ping")
|
||||||
```
|
```
|
||||||
|
|
||||||
### TODO
|
## Reusable schema definitions
|
||||||
|
|
||||||
|
Swagger supports having reusable schema definitions under the
|
||||||
|
`"definitions"` key. These can be reused in different parts of
|
||||||
|
swagger.json using the `"$ref": "#/definitions/Foo"` syntax. These
|
||||||
|
definitions are also rendered in their own section in Swagger UI.
|
||||||
|
|
||||||
|
Reusable schema objects are generated for Malli `:ref`s and vars.
|
||||||
|
Currently (as of 0.7.2), reusable schema objects are **not** generated
|
||||||
|
for Plumatic Schema or Spec.
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
* ClojureScript
|
* ClojureScript
|
||||||
* example for [Macchiato](https://github.com/macchiato-framework)
|
* example for [Macchiato](https://github.com/macchiato-framework)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue