Я создаю немного API в asp.net. Он связан с MVC webapp. Я намерен использовать webapp для использования собственного API вместо того, чтобы создавать 2 бэкэнда, которые делают то же самое.Как использовать один ViewModel для всех операций CRUD в WebApi
Я немного стараюсь, чтобы попытаться сохранить мой дублирующий код до минимума, когда дело доходит до создания модели для использования в API для входящих действий (Post, Put) и «outgoing» (get).
У меня есть класс Event
, он содержит свойства, которые легко сериализовать в JSON и несколько сложных типов. Я создал модель под названием EventViewModel
(уместно ли ее еще назвать модель в API?) С дополнительными свойствами, чтобы получить Name
s из сложных типов.
В идеале я хотел бы повторно использовать эту модель для всего, но когда дело доходит до определения [Required]
тегов, моя логика ломается ...
я сначала думал использовать [Bind(Include() Exclude()]
на каждом из API действия. Это похоже на жизнеспособное решение?
Какие еще решения используют люди?
Спасибо!
Не то, что я хотел услышать, но хороший ответ. Я решил, что мне, возможно, придется создавать несколько моделей/контроллеров для разных сервисов. Спасибо. Я использую Automapper. Мне любопытно, почему вы не порекомендовали бы его. До сих пор я прекрасно проводил время. –
На самом деле, я никогда не использовал automapper, но мне кажется, что это добавляет сложности в приложение. –