J'ai un ASP.NET Core 1.0 de l'API Web de l'application et essayer de comprendre comment passer le message de l'exception pour le client si une fonction que mon contrôleur est l'appel d'erreurs.
J'ai essayé beaucoup de choses, mais rien n'implémente IActionResult
.
Je ne comprends pas pourquoi ce n'est pas une chose commune que les gens ont besoin. Si il n'est véritablement pas une solution, quelqu'un peut-il me dire pourquoi?
Je vois une partie de la documentation là à l'aide de HttpResponseException(HttpResponseMessage)
, mais pour les utiliser de cette manière, je dois installer le compat cale. Est-il une nouvelle façon de faire ces choses en Core 1.0?
Voici quelque chose que j'ai essayé avec la cale, mais il ne fonctionne pas:
// GET: api/customers/{id}
[HttpGet("{id}", Name = "GetCustomer")]
public IActionResult GetById(int id)
{
Customer c = _customersService.GetCustomerById(id);
if (c == null)
{
var response = new HttpResponseMessage(HttpStatusCode.NotFound)
{
Content = new StringContent("Customer doesn't exist", System.Text.Encoding.UTF8, "text/plain"),
StatusCode = HttpStatusCode.NotFound
};
throw new HttpResponseException(response);
//return NotFound();
}
return new ObjectResult(c);
}
Lorsque l' HttpResponseException
est jeté, je regarde sur le client et ne peut pas trouver le message, je suis envoyer quoi que ce soit dans le contenu.