/ / Modèle de validation dans le contrôleur ASP.NET Web API 2 et renvoi de codes de statut différents sur validation différente - c #, asp.net, validation, asp.net-web-api2, annotations de données

La validation du modèle dans le contrôleur ASP.NET Web API 2 et renvoyer différents codes d'état sur différentes validations échoue - c #, asp.net, validation, asp.net-web-api2, annotations de données

ICI est un article bon mais basique pour la validation de modèle dans le contrôleur ASP.NET Web API 2. Mais on ne discute pas comment on pourrait envoyer messages personnalisés avec HttpStatusCodes personnalisés.

Par exemple, Je veux retourner le code d'état en tant que 499 et message comme "Nom (obligatoirechamp "lorsque" nom "non fourni

Je veux que ma réponse HTTP ressemble à quelque chose comme

HTTP/1.1 **499**
Bad Request  Content-Type: application/json; charset=utf-8
Date: Tue, 16 Jul 2013 21:02:29 GMT
Content-Length: 331

{
"Message": "The request is invalid. *Please check*.",
"ModelState": {
"product": [
"Required property "Name" not found in JSON. Path "", line 1, position 17."
],
"product.Name": [
"**Name Required**"
]
}
}

Je souhaite un code d’état et un message personnalisés, comme indiqué dans la réponse fournie.

Comment pourrais-je y parvenir?

Réponses:

0 pour la réponse № 1

Il est peu probable que cela soit une bonne idée, les codes de statut http ont des significations spécifiques et, bien que 499 ne soit pas un code standard, nginx l’utilise et vous serez limité aux lacunes qui existent. actuellement dans les specs. Renvoyez simplement un code personnalisé dans votre corps de réponse.