Packages
open_api_spex
3.21.0
3.22.3
3.22.2
3.22.1
3.22.0
3.21.5
3.21.4
3.21.3
3.21.2
3.21.1
3.21.0
3.20.1
3.20.0
3.19.1
3.19.0
3.18.3
3.18.2
3.18.1
3.18.0
3.17.3
3.17.2
3.17.1
3.17.0
3.16.4
3.16.3
3.16.2
3.16.1
3.16.0
3.15.0
3.14.0
3.13.0
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.2
3.5.1
3.5.0
3.4.0
3.3.0
3.2.1
3.2.0
3.1.0
3.0.0
2.3.1
2.3.0
2.2.0
2.1.1
2.1.0
2.0.0
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
Leverage Open Api Specification 3 (swagger) to document, test, validate and explore your Plug and Phoenix APIs.
Current section
Files
Jump to
Current section
Files
lib/open_api_spex/json_error_response.ex
defmodule OpenApiSpex.JsonErrorResponse do
@moduledoc """
Schema for the default error renderer used by `OpenApiSpex.Plug.CastAndValidate`.
## Examples
@doc responses: %{
201 => {"User", "application/json", UserResponse}
422 => {"Unprocessable Entity", "application/json", OpenApiSpex.JsonErrorResponse}
}
"""
require OpenApiSpex
alias OpenApiSpex.{Operation, Schema}
OpenApiSpex.schema(%{
type: :object,
properties: %{
errors: %Schema{
type: :array,
items: %Schema{
type: :object,
properties: %{
title: %Schema{type: :string, example: "Invalid value"},
source: %Schema{
type: :object,
properties: %{
pointer: %Schema{type: :string, example: "/data/attributes/petName"}
},
required: [:pointer]
},
detail: %Schema{type: :string, example: "null value where string expected"}
},
required: [:title, :source, :detail]
}
}
},
required: [:errors]
})
@doc """
Convenience function to return that wraps JsonErrorResponse in an Operation response.
## Examples
@doc responses: %{
201 => {"User", "application/json", UserResponse}
422 => OpenApiSpex.JsonErrorResponse.response()
}
"""
def response do
Operation.response(
"Unprocessable Entity",
"application/json",
__MODULE__
)
end
end