Comment jeter l'exception de l'API Web?
Comment puis-je lancer une exception dans ASP.net l'Api Web?
Ci-dessous mon code:
public Test GetTestId(string id)
{
Test test = _test.GetTest(id);
if (test == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return test;
}
Je ne pense pas que je suis en train de faire la bonne chose, Comment faire pour que mon client sait que c'est un HTTP 404
erreur?
Vous devez vous connecter pour publier un commentaire.
Il est absolument parfait.
Alternativement, si vous souhaitez donner plus d'infos (pour permettre, comme vous le dites, le client à distinguer de l'ordinaire 404):
Cela devrait vous aider à comprendre WebAPI erreur de manipulation un peu mieux:
http://blogs.msdn.com/b/youssefm/archive/2012/06/28/error-handling-in-asp-net-webapi.aspx
Ce que vous avez dans votre extrait de code devrait fonctionner. Le serveur renvoie un 404 not Found pour le client si le test est nul sans le corps de la réponse. Si vous voulez un corps de réponse, vous devriez envisager d'utiliser la Demande.CreateErrorResponse comme expliqué dans le billet de blog ci-dessus et en passant que la réponse à la HttpResponseException.