View Source Swagdox.Parameter (swagdox v0.2.0)

Describes a parameter in an OpenAPI specification.

Summary

Types

@type t() :: %Swagdox.Parameter{
  description: String.t(),
  in: String.t(),
  name: String.t(),
  required: boolean(),
  type: any()
}

Functions

Link to this function

build(name_and_location, type, description)

View Source
@spec build(tuple(), String.t(), String.t()) :: t()

Creates a new Parameter.

Examples:

  iex> Swagdox.Parameter.build({"id", "query"}, "integer", "User ID")
  %Swagdox.Parameter{
    name: "id",
    in: "query",
    required: false,
    description: "User ID",
    schema: %{type: "integer"}
  }
  iex> Swagdox.Parameter.build({"id", "query"}, "integer", "User ID", required: true)
  %Swagdox.Parameter{
    name: "id",
    in: "query",
    required: true,
    description: "User ID",
    schema: %{type: "integer"}
  }
Link to this function

build(arg, type, description, opts)

View Source
@spec build(tuple() | String.t(), String.t(), String.t(), keyword()) :: t()
@spec render(t()) :: map()

Renders a Parameter as a map.

Examples:

  iex> Swagdox.Parameter.render(%Swagdox.Parameter{
  ...>   name: "id",
  ...>   in: "query",
  ...>   required: false,
  ...>   description: "User ID",
  ...>   schema: %{type: "integer"}
  ...> })
  %{
    "name" => "id",
    "in" => "query",
    "required" => false,
    "description" => "User ID",
    "schema" => %{"type" => "integer"}
  }