それが可能かどうか、または Web API 呼び出しでパラメーターとして使用されるクラスのフィールドを必須にする方法を知りたいですか? メッセージを受け取ったら手動でこれを行うことができますが、パイプラインに何かが組み込まれていることを望んでいました (必要なフィールド注釈を使用して、必要なフィールド表記を示す UI に自動的にキックバックする jQuery と組み合わせた MVC など)。すべてを手動で確認する必要はありません。
次の ViewModel クラスがあるとします。
public class PersonViewModel
{
public string FirstName {get; set;}
public string MiddleName {get; set;}
public string LastName {get; set;}
}
これが私の簡単なPostメソッドですPersonController
public HttpResponseMessage Post(PersonViewModel person)
{
}
FirstName
とLastName
フィールドは必須ですが、必須ではない としましょうMiddleName
。私が知りたいのは、Person
オブジェクトに必須フィールドのいずれかが入力されていない場合、呼び出しは HTTP 400 Bad Request などでクライアントに自動的に応答することですか?
基本的に、このすべての作業を手動で行う必要がありますか、それとも、フレームワークが表記されたフィールドを自動的に処理するようにする方法があるので、必須フィールドの定型的な検証コードはあまりありませんか?
私が避けようとしている手動の方法:
if (ModelState.IsValid)
{
if (person.LastName == string.empty)
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
どんな助けでも大歓迎です、ありがとう!