You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.1 KiB
HTML
65 lines
2.1 KiB
HTML
{{/*
|
|
|
|
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 }}
|
|
|
|
<h2>Responses</h2>
|
|
|
|
<table class="response-table">
|
|
<thead>
|
|
<tr>
|
|
<th class="col-status">Status</th>
|
|
<th class="col-status-description">Description</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
{{ range $code, $response := $responses }}
|
|
|
|
<tr>
|
|
<td><code>{{ $code }}</code></td>
|
|
<td>{{ $response.description | markdownify }}</td>
|
|
</tr>
|
|
|
|
{{ end }}
|
|
|
|
</table>
|
|
|
|
{{ range $code, $response := $responses }}
|
|
{{ if $response.content }}
|
|
{{ $anchor := printf "%s_response-%s" $anchor_base $code }}
|
|
<h3>{{$code}} response</h3>
|
|
{{/* 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 }}
|