25 lines
661 B
Elixir
25 lines
661 B
Elixir
defmodule CustomerServiceWeb.ApiSpec do
|
|
alias OpenApiSpex.{OpenApi, Info, Server}
|
|
alias OpenApiSpex.{Info, OpenApi, Paths, Server}
|
|
alias CustomerServiceWeb.{Endpoint, Router}
|
|
@behaviour OpenApi
|
|
|
|
@impl OpenApi
|
|
def spec do
|
|
%OpenApi{
|
|
servers: [
|
|
# Populate the Server info from a phoenix endpoint
|
|
Server.from_endpoint(Endpoint)
|
|
],
|
|
info: %Info{
|
|
title: "Customer Service",
|
|
version: "1.0"
|
|
},
|
|
# Populate the paths from a phoenix router
|
|
paths: Paths.from_router(Router)
|
|
}
|
|
# Discover request/response schemas from path specs
|
|
|> OpenApiSpex.resolve_schema_modules()
|
|
end
|
|
end
|