2017-03-13 14 views
0

私はJSONをとるWeb APIを持っています。このJSONには3つのパラメータがあります。 内部処理の一環として、このAPIは別のWeb API(B2B)を呼び出します。 1つのパラメータだけが2番目のAPI(madatory)に渡されます。 私の質問は、私のAPIが2番目のAPIに渡されるパラメータを検証するのか、2番目のAPIがそれらを検証するべきなのですか?上記の例ではWeb APIが別のWeb APIを呼び出す - バライダイトン

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

''''' 

} 

私はanotherApiを呼び出さないだろうか、私はちょうどanotherApiは私が返すように私APIにエラーを返すせなければならないように(第2のAPIで必須です)PARM3を検証する必要があります発信者に?

+0

第2のAPIは、それらを検証する必要があり、それは方法のようです。メソッドは処理する前にすべての入力パラメータを検証する必要があります –

+0

@CuongLe必須フィールドはどうですか?つまり、2番目のAPIで使用されるparm3は必須です。私が最初のAPIでチェックすると、私は2番目のAPIを呼び出すことは避けます。 妥当性確認のために、私は義務的なパラメータが提供されているかどうかを確認することを意味します。 –

+0

親指のルールとして、私は可能な限り早い段階ですべての化粧品検証(必須、データフォーマットなど)を行い、特定のビジネスコンポーネントを処理する – Jinish

答えて

0

それは、この場合には、それは最初のレベルで モデルを検証するために、より良いですので、低コストでモデルを検証するために良いことだ、ともではなく、あなたのモデルクラスを取得するために、適切だPARAM1、PARAM2、param3

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

検証アトリビュートやFluent Validationなどのサードパーティなど、いくつかの手法で各パラメータを検証することもできます。 チェックアウトこれらのリンク

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

関連する問題