Я пишу API, где у меня есть контроллер, который отправляет новый объект, получает его обратно и может PUT / PATCH обновления для него. Проблема в том, что между этими двумя действиями есть свойства. Например, когда я POST создаю новый объект, я хочу убедиться, что его «id» возвращен, чтобы его можно было использовать для его идентификации для конечных точек GET / PUT / PATCH. Неважно, возвращается ли это через GET (это просто дублирование данных в этот момент), но я, конечно, не хочу, чтобы оно передавалось для PUT или PATCH, поскольку идентификатор неизменен.
Итак, как лучше всего отметить это в чванстве, чтобы у меня могли быть разные версии одного и того же определения? Я видел, что вы можете использовать «allOf» для добавления определений в другие свойства, но мне интересно, есть ли способ сказать «не эти свойства в определении»?
Если бы я мог сделать последнее, я мог бы сделать одно Определение объекта в целом и просто выбить то, что не требуется возвращать или отправлять при ссылке на него в Контроллере. Это возможно? Имею ли я смысл?
(Просто, чтобы сделать вещи более интересными, мой файл swagger.json создается swagger-php на основе аннотаций в моем контроллере и файлах сущностей)
Я столкнулся с той же проблемой при написании нашего spec-файла, и не знал, как это исправить, но я использовал свойство readOnly: правда, в этом случае в документации сказано, что это свойство только для чтения, вы можете только читать через методы GET / POST, но вы не можете отправить его через PATCH / PUT .. надеюсь, это поможет
Других решений пока нет …