Таким образом, я извлекаю схему JSON из моей спецификации RAML для проверки вывода в методах GET, а также ввода в методе POST.
У каждого объекта этого типа есть свойство "required" ID -по крайней мере, это требуется при перечислении этих сущностей в запросе 'get item' или 'get collection'.Но при проверке полученных почтовых данных для создания такого объекта идентификатор явно не требуется (и в любом случае отбрасывается, если он отправляется).
Какой самый лучший СУХОЙ способ иметь это свойство идентификатора требуется для запросов GET, но нетребуется или, что еще лучше, отсутствует в типе для запросов POST?
TL; DR: начать чтение ниже;)
Пример, облегчающий понимание:
Для запросов GET тип должен быть таким:
properties:
id:
something1:
something2?:
Для запросов POST тип должен быть таким:
properties:
something1:
something2?:
без необходимости определения обоих по отдельности, но такжебез использования наследования необходимо создать два типа для каждого ресурса.
В идеале я бы решил это таким образом, но, похоже, это не сработает:
get:
description: Retrieve a list of <<resourcePathName|!uppercamelcase>>.
responses:
200:
body:
application/json:
type: [ entity_id_object, <<resourcePathName|!singularize|!uppercamelcase>> ][]
example: <<exampleCollection>>
и entity_id_object
istпросто:
entity_id_object:
properties:
id:
Я думаю, это потому, что <<resourcePathName|!singularize|!uppercamelcase>>
не работает в этой комбинации.