Как указать необязательный элемент для объекта запроса json
в API blueprint я ищу, чтобы указать необязательный элемент json для сообщения POST. Пример;
### Add a new User [POST]
To add a User send a JSON .....
+ Request (application/json)
{
"name": "A name",
"age": 30
}
Как указать читателю API, что возраст является необязательным в вызове API, но все же показывает, что это целое число?
~Колин
2 ответов
в настоящее время нет специальной поддержки для этого. Однако существует несколько способов добиться этого.
мой предпочтительнее обсудить его в описании запроса, используя форматирование markdown по своему вкусу e.g:
### Add a new User [POST]
To add a User send a JSON .....
+ Request (application/json)
Data about user being created. Where age attribute is optional.
+ Body
{
"name": "A name",
"age": 30
}
или, возможно:
To add a User send a JSON .....
+ Request (application/json)
Data about user being created. With following attributes are:
+ `name` ... name of the user
+ `age` (optional) ... age of the user
+ Body
{
"name": "A name",
"age": 30
}
см.http://docs.gtdtodoapi.apiary.io ресурс коллекции папок для дальнейшего примера.
вы также всегда можете указать схему JSON, описывающую полезную нагрузку тела. Примечание. специальная поддержка обсуждения атрибутов тела сообщения находится в процессе создания (https://github.com/apiaryio/api-blueprint/issues/25)
Я рекомендую таблицу полей документа, как этот.
### Source Fields
| field | required | type | example | description |
|------------|:-:|-------------|----------------------------------------|-------------|
| name | * | string | `average-lead-time-frontend` | Unique name for machines, used as reference key and for url usage. |
| title | * | string | `Average Lead Time Frontend` | Title for humans. |
| sourcetype | * | string | `team-avgLeadTime` | Source type identificator. |
| groups | | list | `["engagement-analytics", "builder"]` | List of groups where entity is member. |
| options | | object | `{ "team": 21926 }` | Addition options for sourcetype. |
| data | | list | `[70.3, 31.8]` | Actual data held by Source. |
сгенерированная таблица полей:http://i.stack.imgur.com/cxocx.png