2017-01-23 10 views
4

VS 2015は自動的に次のコードを生成:ASP.NET Core Web API:Get requestでModelStateの検証が必要なのはなぜですか?

// GET: api/Companies/5 
[HttpGet("{id}")] 
public async Task<IActionResult> GetCompany([FromRoute] int id) 
{ 
    if (!ModelState.IsValid) 
    { 
     return BadRequest(ModelState); 
    } 

    Company company = await _context.Companies.SingleOrDefaultAsync(m => m.Id == id); 

    if (company == null) 
    { 
     return NotFound(); 
    } 

    return Ok(company); 
} 

をここにModelStateの検証のポイントは何ですか?

答えて

0

Web Apiテンプレートを使用しているとします。あなたが「空の」テンプレートから始まったわけではないので、VSがコードを生成しました。これはマイクロソフトチームが「良い習慣」とみなしたものです。

重要な点は、特定のフィールドに電子メール、その他のフィールドが必要な場合は、データ注釈を使用してマークした可能性があります。さて、あなたのメソッドが実行される前にそれらのチェックが追加されました(単純なintでは不要ですが、引数を変更する可能性があることを暗示しています)。詳細については、thisの記事を参照してください。

これらの追加が不要な場合は、空のテンプレートからいつでもプロジェクトを開始できます。

関連する問題