0

I'm using Swagger YAML file for producing interactive documentation on apiary.io.

I've noticed a strange issue where if I specify a default value 0 for an integer, the interactive documentation doesn't render it at all and shows "null" as default value instead. If i specify a non-zero value it renders perfectly fine.

Example :

- name: pageNumber
    in: query
    description: The page number, starting at 0.
    required: true
    type: number
    format: int32
    default: 0
- name: pageSize
    in: query
    description: The page size (max number of entities that are displayed in the
      response).
    required: true
    type: integer
    format: int32
    default: 20

Appends ?pageNumber=&pageSize=20 to my path whereas it should've added ?pageNumber=0&pageSize=20 instead.

When I add a non-zero as follows :

    - name: pageNumber
    in: query
    description: The page number, starting at 0.
    required: true
    type: number
    format: int32
    default: 1
- name: pageSize
    in: query
    description: The page size (max number of entities that are displayed in the
      response).
    required: true
    type: integer
    format: int32
    default: 20

This is rendered fine, and appends ?pageNumber=1&pageSize=20 as expected.

fikrifirat
  • 33
  • 6
  • FYI: [Required parameters are not supposed to have a default value](https://stackoverflow.com/q/49570369/113116). To provide an _example_ value (not to be confused with the _default_ value), use `x-example` instead. – Helen Sep 07 '18 at 11:32

1 Answers1

1

Helen's comment resolved my issue. When documenting using YAML on apiary.io, for setting default/initial values in the interactive documentation, x-example needs to be used. Now, the following works as expected :

  - name: pageNumber
    in: query
    description: The page number, starting at 0.
    required: true
    type: number
    format: int32
    x-example: 0
  - name: pageSize
    in: query
    description: The page size (max number of entities that are displayed in the
      response).
    required: true
    type: integer
    format: int32
    x-example: 20

Successfully gets rendered as ?pageNumber=0&pageSize=20

fikrifirat
  • 33
  • 6