2017-03-13 2 views
0

J'ai une API Web qui prend JSON. Ce JSON contient 3 paramètres. Dans le cadre du traitement interne, cette API appellera une autre API Web (B2B). seulement 1 paramètres seront passés à la deuxième API (madatory). Ma question est la suivante: est-ce que mon API devrait valider le paramètre qui sera passé à la deuxième API ou la deuxième API devrait les valider?Api Web appelant une autre API Web - Validaiton

My WebAPI (parm1,parm2,parm3){ 
'''''' 
string result= anotherApi.dosomething(parm3) 

''''' 

} 

Dans l'exemple ci-dessus, je dois valider parm3 (qui est obligatoire par la deuxième API) pour que je ne vais pas appeler le anotherApi ou devrais-je laisser le anotherApi retourner une erreur à mon api que je retournerai à l'appelant?

+0

La deuxième API doit les valider, il est comme méthode. La méthode devrait valider tous les paramètres d'entrée avant de traiter –

+0

@CuongLe qu'en est-il du champ obligatoire? Je veux dire que le parm3 utilisé sur la deuxième API est obligatoire. Si je le vérifie sur la première API, j'éviterai d'appeler la deuxième API. pour la validation je veux dire vérifier si un paramètre obligatoire a été fourni ou non –

+0

En règle générale, je ferais toutes les validations esthétiques (requises, format de données, etc.) le plus tôt possible, puis laisserais les règles de validation sur les composants gérer le composant métier spécifique – Jinish

Répondre

0

Il est bon de valider le modèle à faible coût, donc dans ce cas, il est préférable de valider votre modèle dans le premier niveau, et aussi il est bon d'obtenir à la place de votre classe modèle param1, param2, param3

public class YourModel 
{ 
    public int param1 { get; set; } 
    public int param2 { get; set; } 
    public int param3 { get; set; } 
} 

et vous pouvez également valider chaque paramètre à l'aide de techniques telles que l'attribut de validation ou un tiers tel que la validation active. consultez ces liens

Model Validation in Web API Custom Validation in ASP.NET Web API with Fluent Validation