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