typesense-api-spec
typesense-api-spec copied to clipboard
HTTP status code MUST be enclosed in quotation marks
Description
The response HTTP status code, as shown below in line 62, in the openapi.yml file should be quoted:
61 responses:
62 200:
63 description: List of all collections
64 content:
65 application/json:
66 schema:
67 type: array
68 x-go-type: "[]*CollectionResponse"
69 items:
70 $ref: "#/components/schemas/CollectionResponse"
In some OpenAPI generators, some generators treat numbers in keys as integers instead of strings by default, which led to error.
As per OpenAPI spec (emphasis added), https://spec.openapis.org/oas/v3.0.3#patterned-fields-0:
Any HTTP status code can be used as the property name, but only one property per code, to describe the expected response for that HTTP status code. A Reference Object can link to a response that is defined in the OpenAPI Object’s components/responses section. This field MUST be enclosed in quotation marks (for example, “200”) for compatibility between JSON and YAML. To define a range of response codes, this field MAY contain the uppercase wildcard character X. For example, 2XX represents all response codes between [200-299]. Only the following range definitions are allowed: 1XX, 2XX, 3XX, 4XX, and 5XX. If a response is defined using an explicit code, the explicit code definition takes precedence over the range definition for that code.
Steps to reproduce
Expected Behavior
61 responses:
+ 62 '200':
Actual Behavior
Metadata
Typesense Version:
OS: