2017-03-13 5 views
0

Ich habe eine Web-API, die JSON übernimmt. Dieser JSON enthält 3 Parameter. Im Rahmen der internen Verarbeitung ruft diese API eine andere Web-API (B2B) auf. nur 1 Parameter werden an die zweite API übergeben (madatory). Meine Frage ist, ob meine API den Parameter validieren sollte, der an die zweite API weitergegeben wird oder die zweite API sie validieren sollte?Web API Aufruf einer anderen Web API - Validiton

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

''''' 

} 

Im obigen Beispiel sollte ich bestätigen parm3 (die durch die zweite API obligatorisch ist), so dass ich nicht die anotherApi anrufen oder sollte ich lassen Sie einfach die anotherApi einen Fehler zu meinen api zurückkehren, dass ich zurückkehren zum Anrufer?

+0

Die zweite API sie bestätigen sollte, dann ist es ein ähnliches Verfahren. Methode sollte alle Eingabeparameter vor der Verarbeitung überprüfen –

+0

@CuongLe was ist mit Pflichtfeld? Ich meine, der auf der zweiten API verwendete parm3 ist obligatorisch. Wenn ich es auf der ersten API überprüfe, werde ich vermeiden, die zweite API aufzurufen. für die Validierung Ich meine, zu überprüfen, ob ein obligatorischer Parameter angegeben wurde oder nicht –

+0

Als eine Daumenregel würde ich alle kosmetischen Validierungen (erforderlich, Datenformat usw.) so früh wie möglich, und dann die Geschäftsregeln Validierungen für die Komponenten verlassen Umgang mit der spezifischen Business-Komponente – Jinish

Antwort

0

Es ist gutes Modell mit niedrig Kosten zu überprüfen, so dass in diesem Fall ist es besser, Ihr Modell in dem ersten Ebene zu überprüfen, und es ist auch richtiges Modell Klasse statt param1 zu bekommen, param2, param3

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

Außerdem können Sie alle Parameter mit einigen Techniken validieren, z. B. Validierungsattribut oder einem Drittanbieter wie Fluent Validation. holen sie sich

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