Должен ли обработчик уровня приложения возвращать объект DTO или домена?C#

Место общения программистов C#
Ответить
Anonymous
 Должен ли обработчик уровня приложения возвращать объект DTO или домена?

Сообщение Anonymous »

У меня есть архитектура уровня домена/приложения/постоянства и API.
  • Домен существует изолированно без каких-либо ссылок на внешние уровни
  • Приложение ссылается только на домен
  • Уровень постоянства и API находится на одном уровне, ссылаясь на приложение и домен.
В следующем примере конечной точки API, куда мне следует поместить входные данные и выходные модели. Модель ввода как точка входа в конечную точку API и модель вывода как точка выхода из конечной точки API.

Код: Выделить всё

[HttpGet]
public async TaskGet(GetModel model)
{
var queryModel = this.Mapper(model);
var getCarQuery = this.mediator.Send(queryModel);
}
Обработчик для этого getCarsQuery находится на уровне приложения. Внутри этого обработчика я использую репозиторий для получения данных из базы данных, вот где у меня возникла дилемма:
Должен ли обработчик с уровня приложения возвращать Dto (также хранящийся на уровне приложения) и не иметь сопоставления между dto и ответом API

Код: Выделить всё

[HttpGet]
public async TaskGet(GetModel model)
{
var queryModel = this.Mapper(model);
CarDto getCarQuery = this.mediator.Send(queryModel);
return Ok(getCarQuery);
}
Должен ли обработчик возвращать объект домена, используя репозиторий, и оставлять сторону API для обработки сопоставления объекта домена (из обработчика) с ответом API (dto)?

Код: Выделить всё

[HttpGet]
public async TaskGet(GetModel model)
{
var queryModel = this.Mapper(model);
Car getCarQuery = this.mediator.Send(queryModel);
CustomApiResponse response = _mapper(getCarQuery);
return Ok(response);
}
Коротко говоря, в приведенной выше архитектуре куда бы вы поместили модели ввода
и вывода конечной точки API и должен ли обработчик возвращать модели dto или
данных?


Подробнее здесь: https://stackoverflow.com/questions/736 ... ain-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»