Я использую ASP.NET Boilerplate Framework и создал пользовательский сервис приложений, который наследуется от AsyncCrudAppServiceBase, и переопределил функцию Get
.
public override async Task<ExampleDto> Get(EntityDto<int> input)
{
var example = await Repository.GetAll().FirstOrDefault(x => x.Id == input.Id);
return ObjectMapper.Map<ExampleDto>(example);
}
Однако, поскольку я использую FirstOrDefault
, если запись не существует, она возвращает null
и HTTP-статус 200 вместо 404, что я хочу.
Если я изменю функцию LINQ на First
или, в идеале, Single
, тогда генерируется исключение, но HTTP-статус равен 500.
Я могу проверить, существует ли запись, но как мне вернуть другой статус HTTP из службы приложений?