2017-09-20 3 views
0

J'ai une application api web et j'ai une action post http prenant DTO comme suit:Comment retourner 404 en cas d'incompatibilité de type d'argument d'action dans l'API Web?

public class Account 
{ 
    public string Name { get; set; } 

    public string Email { get; set; } 

    public int Age { get; set; } 
} 

Mais en utilisant Postman je peux passer comme ça:

{ "Nom": "Simple Code ", Email:" [email protected] ", Âge: null}

Lorsque j'envoie la requête, il envoie Age comme nul.

Comment puis-je obtenir mon API Web sans renvoyer la requête 404 ou est-ce que je suis obligé de la valider dans mon code?

Répondre

0

Salut la façon la plus rapide pour moi est:

Marquer comme [Obligatoire] votre DTO

public class Account 
{ 
    public string Name { get; set; } 

    [Required(AllowEmptyString = false)] 
    public string Email { get; set; } 

    [Required] 
    public int Age { get; set; } 
} 

puis dans votre méthode API

public IHttpActionResult Post([FromBody] mydto){ 

    // if model is not validated return 400 bad request 
    if(!ModelState.IsValid) return BadRequest(ModelState); 

    //or if is here it's ok 

    //return 200 OK 
    Ok(mydto); 
} 
+0

avez-vous essayé public int? Âge {get; ensemble; } –

+0

as-tu essayé public int? Âge {get; ensemble; } –