То, что вы передаете BadRequest
, сериализуется и возвращается как тело ответа. Если ничего не поступает, единственное объяснение состоит в том, что у вас нет c общедоступных свойств для Error
, которые можно сериализовать. Например, если у вас было что-то вроде:
public class Error
{
public Error(string type, string description)
{
Type = type;
Description = description;
}
public string Type { get; private set }
public string Description { get; private set; }
}
Затем вы получите ответ вроде:
{
"type": "IDNotTheSame",
"description": "ID from URL is not the same as in the body."
}
Не уверен, что ваш класс Error
в настоящее время делает. Тем не менее, это, вероятно, в любом случае не нужно, поскольку вы можете просто использовать ModelState
:
ModelState.AddModelError("Id", "ID from URL is not the same as in the body.");
return BadRequest(ModelState);
Наконец, вероятно, следует сказать, что это бессмысленная проверка в первую очередь. Вам вообще не следует отправлять идентификатор с моделью (всегда используйте модель представления, а не класс сущности), и даже если вы отправляете его, вы можете просто перезаписать его значением из URL:
model.Id = id;
Готово. Нет проблем, и вам не нужно беспокоиться об отправке ошибки обратно.