使用JObject將數據傳遞給webapi,您如何執行JObject返回的對象的模型驗證?我正在使用angurlarjs進行綁定,併爲我的模型使用DTO。JObject Webapi中的模型驗證
[System.Web.Http.HttpPost]
public HttpResponseMessage InsertSchoolBranch(JObject jsonData)
{
try
{
dynamic json = jsonData;
JObject jbranchInfo = json.branchInfo;
JObject jbranchPolicy = json.branchPolicy;
var branchInfo = jbranchInfo.ToObject<SchoolBranch>();
var branchPolicy = jbranchPolicy.ToObject<SchoolPolicy>();
int schoolId = Convert.ToInt32(UserDataPieces(2));
int userId = Convert.ToInt32(UserDataPieces(0));
unitOfWork.SchoolManagerRepository.InsertSchoolBranch(branchInfo, branchPolicy, userId, schoolId, ref message);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (UnauthorizedAccessException)
{
return Request.CreateResponse(HttpStatusCode.Unauthorized);
}
catch (Exception)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError);
}
}
如果你發佈一個強類型的模型,而不是動態'JObject'你可以驗證屬性裝飾你的模特屬性和檢查'ModelState.IsValid在你的行動中。 – Jasen
你好@賈森,試過了,但沒有奏效。它引發了這個錯誤「驗證失敗的一個或多個實體。有關更多詳細信息,請參閱'EntityValidationErrors'屬性。' – uikrosoft
@uikrosoft可以在遇到此錯誤時分享完整的代碼和請求詳細信息: – Victor