{{/* Render the response part of a single HTTP API operation, given: * `responses`: OpenAPI data specifying the responses * `anchor_base`: a prefix to add to the HTML anchors generated for each object This template renders: * a summary of all the different responses * details of the body for each response code * body parameters, which may be more complex, containing nested objects * response body examples */}} {{ $responses := .responses }} {{ $anchor_base := .anchor_base }}

Responses

{{ range $code, $response := $responses }} {{ end }}
Status Description
{{ $code }} {{ $response.description | markdownify }}
{{ range $code, $response := $responses }} {{ if $response.content }} {{ $anchor := printf "%s_response-%s" $anchor_base $code }}

{{$code}} response

{{/* Display defined headers */}} {{ if $response.headers }} {{/* build a dict mapping from name->schema, which render-object-table expects */}} {{ $headers_dict := dict }} {{ range $header_name,$header_props := $response.headers }} {{/* merge the schema at the same level as the rest of the other fields because that is what `render-object-table` expects. Put the schema first so examples in it are overwritten. */}} {{ $header_schema := merge $header_props.schema $header_props }} {{ $headers_dict = merge $headers_dict (dict $header_name $header_schema )}} {{ end }} {{/* and render the headers */}} {{ partial "openapi/render-object-table" (dict "title" "Headers" "properties" $headers_dict) }} {{ end }} {{ partial "openapi/render-media-type-objects" (dict "content" $response.content "kind" "response" "anchor_base" $anchor) }} {{ end }} {{ end }}