Как предотвратить сбой моего API при добавлении новых полей - PullRequest
0 голосов
/ 07 февраля 2019

Я создал API, который получает от стороннего поставщика.Иногда они добавляют новые поля без предупреждения, что приводит к ошибкам в моем API

API использует структуру сущностей 6, таблицы на самом деле являются представлениями SQL Server.

Код в контроллере, который получаетPOST начинается с:

    if (!ModelState.IsValid)
    {                 
         var errors = ModelState.Values.SelectMany(v => v.Errors);

Я подозреваю, что это строгое.Это необходимо или целесообразно, чтобы сохранить и проверить дополнительные на тип ошибок.Или я могу удалить это, но не приведет ли это к дальнейшему развитию?

1 Ответ

0 голосов
/ 08 февраля 2019

Все зависит от того, как вы хотите, чтобы API работал, мне понадобится больше контекста, чтобы обеспечить лучшее руководство.

  1. Вы можете сохранить IsValid и иметь его строго проверять и выдавать ошибки (чтовы можете справиться).
  2. Удалите IsValid, если вы знаете, что они просто добавят поля, которые вам не нужны, и если вы получите JSON в POST, и он будет десериализовать только те поля, которые выесть в вашей модели.
  3. Создайте собственный десериализатор / сериализатор, который обрабатывает все это любым способом, каким вы хотите.
...