(openapi-validator spec)(openapi-validator spec
{:keys [base-path inline? ignore-additional-properties?]})Build an OpenApiInteractionValidator from a spec
spec is a url or path to resource describing a Swagger or OpenApi
specification.
Second argument is an optional map of options:
:base-path overrides the base path in the spec.:inline? true indicate that spec is the specification body
as a string, instead of a url or path:ignore-additional-properties? true will disable errors on
additional properties. This can help if you use allOf schemas. See also
https://bitbucket.org/atlassian/swagger-request-validator/src/master/docs/FAQ.mdIf you need to customize the validator you can create a builder using
com.atlassian.oai.validator.OpenApiInteractionValidator/createFor
Build an OpenApiInteractionValidator from a spec
`spec` is a url or path to resource describing a Swagger or OpenApi
specification.
Second argument is an optional map of options:
- `:base-path` overrides the base path in the spec.
- `:inline? true` indicate that `spec` is the specification body
as a string, instead of a url or path
- `:ignore-additional-properties? true` will disable errors on
additional properties. This can help if you use `allOf` schemas. See also
https://bitbucket.org/atlassian/swagger-request-validator/src/master/docs/FAQ.md
If you need to customize the validator you can create a builder using
`com.atlassian.oai.validator.OpenApiInteractionValidator/createFor`(validate-interaction validator request response)Validate a request/response pair using the given validator.
If any issues are found, returns a report collection
Validate a `request`/`response` pair using the given `validator`. If any issues are found, returns a report collection
(validate-request validator request)Validate a request using the given validator.
If any issues are found, returns a report collection
Validate a `request` using the given `validator`. If any issues are found, returns a report collection
(validate-response validator method path response)Validate a response using the given validator.
method is a ring-spec method: :get :head :post etc...path is the request path excluding parametersIf any issues are found, returns a report collection
Validate a `response` using the given `validator`. - `method` is a ring-spec method: `:get` `:head` `:post` etc... - `path` is the request path excluding parameters If any issues are found, returns a report collection
(wrap-request-validator f validator)Middleware validating requests against an OOAPI spec.
f is the handler to wrapvalidator should be an OpenApiInteractionValidator - see
openapi-validator.Each incoming request is validated using validate-request. When
errors are found, the a 400 Bad Request response is returned with the
error collection as the response body. When the request is valid
according to the validator, it is passed along to the original
handler.
(-> my-api-handler
(wrap-request-validator (openapi-validator "path/to/spec.json"))
(wrap-json-response))
Since the error response body is just clojure map, you need some other
middleware like ring.middleware.json to turn it into full ring
response.
Middleware validating requests against an OOAPI spec.
- `f` is the handler to wrap
- `validator` should be an `OpenApiInteractionValidator` - see
[[openapi-validator]].
Each incoming request is validated using [[validate-request]]. When
errors are found, the a 400 Bad Request response is returned with the
error collection as the response body. When the request is valid
according to the validator, it is passed along to the original
handler.
(-> my-api-handler
(wrap-request-validator (openapi-validator "path/to/spec.json"))
(wrap-json-response))
Since the error response body is just clojure map, you need some other
middleware like `ring.middleware.json` to turn it into full ring
response.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |