Комментарии 6
Является ли Pydantic альтернативой JSON Schema?
Раньше тоже использовал JSON Schema, но в конечном счете перешел на Pydantic.
Выше говорят, что Pydantic в приведенных примерах избыточен, но мне кажется, что в таком случае всё наоборот– избыточно изучать синтаксис JSON Schema с их типами, если в Pydantic используется родной интерфейс, типы и имеются более гибкие настройки. Сложно представить ситуацию, когда JSON Schema будет проще Pydantic'a.
Редко использую такие проверки в тестах, они хоть что-то ловят, если учитывать, что оно почти наверняка покрыто в юнитах?
Очень вовремя для меня вышла эта статья - не пришлось опять лазить по документации. Почти все нужное в одном месте. На мой взгляд, не хватает примера использования ключа $ref
-- ссылок на другие схемы. Даже если пишешь "smoke test" куски схем часто повторяются. Чтобы не дублировать написание, удобно выносить одинаковые параметры или их группы в отдельные файлы схем.
Даже с такими примерами pydantic был бы гораздо удобнее, меньше шансов допустить ошибку, да и коллегам легче понимать или разобраться
редко тесты заключаются только в проверке схемы, проверяешь ещё и данные, с pydantic их легко парсить и получать разное представление.
"Как быстро и безболезненно закрыть регресс в API"
Swagger doc -> datamodel-codegen в pydantic модели + polyfactory для генерации данных
и собирай конструктор
Как быстро и безболезненно закрыть регресс в API из связки PyTest + JSON Schema