В обязательном поле спецификации приходит null: чья это ошибка
В спецификации OpenAPI указано:
Client:
type: object
required: [id, inn, email]
properties:
id: { type: string }
inn: { type: string }
email: { type: string }
В проде выясняется: у клиентов-физлиц ИНН часто отсутствует, и поставщик присылает "inn": null. Приёмный сервис падает на разборе, интеграция встаёт.
Что должен был сделать аналитик при проектировании контракта?
- Убрать inn из обязательных полей и не описывать этот случай отдельно: раз поле может отсутствовать, дальнейших уточнений не требуется
- Выяснить у бизнеса, для каких категорий клиентов ИНН отсутствует, отразить это в контракте (необязательность или допустимость null) и описать поведение принимающей стороны для такого случая
- Договориться, что принимающий сервис игнорирует любые несоответствия спецификации и обрабатывает данные как получится
- Оставить контракт как есть и потребовать от поставщика присылать пустую строку вместо null: пустая строка проходит проверку обязательного поля, приёмная сторона не падает, и менять спецификацию не придётся
