MSON не поддерживает указание параметров валидации, таких как максимальная длина на данный момент. Команда API Blueprint изучает возможность добавления этих функций, но это все еще открыто для обсуждения на лучший способ поддержать это. Там может быть много валидаций, поэтому определенно большая тема для покрытия, поэтому нам нужно будет найти четкий способ выражения утверждений, который предлагает будущую поддержку для объявления, чтобы это могло развиваться.
Открытая дискуссия на https://github.com/apiaryio/mson/issues/43 по теме. Если у вас есть идеи или предложения синтаксиса, они будут высоко оценены.
В настоящее время вы можете предоставить пользовательскую схему JSON, которая задает параметры проверки. В качестве примера, вы можете достичь этой проверки с помощью следующего API Blueprint:
+ Response 200 (application/json)
+ Attributes
+ tokenType: Bearer (fixed) - The type of access token that was issued.
+ expiresIn: 1000 (number) - How much time in seconds until the token expires.
+ accessToken: `0.AQAAAVF-mqsiAAAAAAAbd0A71bIG8IUwcgHV7mAYiG7J.EAAQsWDnpqRj7WwyFVLTsdo0yXWh9L4` (string) - The access token to pass in the API call to access the protected resource.
+ Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"tokenType": {
"type": "string",
"enum": [
"Bearer"
]
},
"expiresIn": {
"type": "number"
},
"accessToken": {
"type": "string",
"maxLength": 20
}
},
"required": [
"tokenType"
]
}
Я согласен, это решение не является большим, так как вам нужно будет дублировать информацию в вашем атрибуты MSON и сама схема. Было бы гораздо более целесообразным указать правильность проверки в MSON.
Просто хотел бы упомянуть, вы можете использовать fixed
для tokenType
, чтобы указать, что оно имеет фиксированное значение, которое не изменяется. Вы также могли бы использовать enum
в будущем, чтобы разрешить несколько опций tokenType
.
+1 спасибо, я все понял, но думал, что попрошу. С нетерпением ждем появления MSON для поддержки этого в будущем. На данный момент я могу просто добавить структуры объектов как часть справочной документации, как это было в прошлом. Возможность использования использовать структуру MSON во вводном разделе также будет полезна. Вы можете увидеть этот API в качестве примера: http://paysafegroup.github.io/neteller_rest_api_v1/#/introduction/complex-json-objects –