View Source AshJsonApi.OpenApi (ash_json_api v0.33.0)
Provides functions for generating schemas and operations for OpenApi definitions.
Add open_api_spex
to your mix.exs
deps for the required struct definitions.
example
Example
defmodule MyApp.OpenApi do
alias OpenApiSpex.{OpenApi, Info, Server, Components}
def spec do
%OpenApi{
info: %Info{
title: "MyApp JSON API",
version: "1.1"
},
servers: [
Server.from_endpoint(MyAppWeb.Endpoint)
],
paths: AshJsonApi.OpenApi.paths(MyApp.Api),
tags: AshJsonApi.OpenApi.tags(MyApp.Api),
components: %Components{
responses: AshJsonApi.OpenApi.responses(),
schemas: AshJsonApi.OpenApi.schemas(MyApp.Api)
}
}
end
end
Link to this section Summary
Functions
Paths (routes) from the API.
Common responses to include in the API Spec.
Resource schemas to include in the API spec.
Tags based on resource names to include in the API spec
Link to this section Functions
@spec paths(api :: module() | [module()]) :: OpenApiSpex.Paths.t()
Paths (routes) from the API.
@spec responses() :: OpenApiSpex.Components.responses_map()
Common responses to include in the API Spec.
@spec schemas(api :: module() | [module()]) :: %{ required(String.t()) => OpenApiSpex.Schema.t() }
Resource schemas to include in the API spec.
@spec tags(api :: module() | [module()]) :: [OpenApiSpex.Tag.t()]
Tags based on resource names to include in the API spec