Предположим, что REST API определяет метод POST для ресурса / foos для создания нового Foo. При создании Foo имя Foo является входным параметром (присутствует в теле запроса). Когда сервер создает Foo, он присваивает ему идентификатор. Этот идентификатор возвращается вместе с именем в ответе REST. Я ищу что-то похожее на readOnly в OpenAPI.
Вход JSON должен выглядеть следующим образом:
{
"name": "bar"
}
Выход JSON должен выглядеть так:
{
"id": 123,
"name": "bar"
}
Есть ли способ повторно использовать ту же самую модель pydanti c? Или необходимо использовать две разные модели?
class FooIn(BaseModel):
name: str
class Foo(BaseModel):
id: int
name: str
Я не могу найти упоминаний "только для чтения", "только для чтения" или "только для чтения" в документации по pydanti c или в Код класса поля.
Поиск в Google Я нашел сообщение, в котором упоминается
id: int = Schema(..., readonly=True)
Но, похоже, это не имеет никакого эффекта в моем случае использования.