Я не уверен, что это подходящее место, чтобы задать этот вопрос, но вот что.Проверка данных Web Api 2 перед сохранением базы данных
Я создаю веб-интерфейс Web API 2, где внешнее приложение может отправлять данные. Прежде чем данные будут сохранены в базе данных, я хочу проверить мои данные (все введенные поля и т. Д.). Мне нужно использовать datamodel, который принимает любую строку как itemNumber, поэтому я хочу убедиться, что данные верны. В этом случае:
- Имеет ли элемент itemNumber в базе данных;
- Является ли комбинация deliveryType и itemNumber действительной комбинацией.
Чтобы подойти к этому, у меня есть следующая (упрощенная) модель для получения данных из POST.
public class Product {
public int ID { get; set; }
[RequiredItem]
public string ItemNumber { get; set; }
[RequiredDelivery]
public string DeliveryType { get; set; }
}
Мой пользовательский атрибут RequiredItem проверяет базу данных, если элемент существует в базе данных. Если нет, ответ будет сообщением Json, в котором вам необходимо указать допустимый номер элемента.
Атрибут 'RequiredDelivery' проверяет, является ли комбинация ItemNumber/DeliveryType допустимой комбинацией (путем проверки таблицы, в которой хранятся все комбинации).
Когда все данные верны, я сопоставляю их с моделью базы данных (EF) en, записывая данные в базу данных.
Вопрос в том, является ли это хорошим подходом к проверке данных POST, или я должен делать это на другом уровне?