직렬화 된 문자열로받을 때 웹 API에서 모델의 유효성을 검사하는 방법을 모르겠습니다.
유효성 검사 목적으로 모델에서 DataAnnotations를 사용하며 일반적으로 다음을 수행합니다.
public IHttpActionResult Save([FromBody] IEnumerable<User> users)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// ...
}
이 특정 경우에 "모델"은 직렬화 된 문자열에서 나옵니다.
public IHttpActionResult Save()
{
string Data = HttpContext.Current.Request.Form["Data"];
IEnumerable<User> users = JsonConvert.DeserializeObject<IEnumerable<User>>(Data);
// ...
}
이것을 어떻게 확인할 수 있습니까?
위의 예를 따르면 :
// Validate
Validate<List<User>>(user);
if (!ModelState.IsValid)
{
return new InvalidModelStateResult(ModelState, true, new DefaultContentNegotiator(), Request, new MediaTypeFormatter[] { new JsonMediaTypeFormatter() }); // Force JSON
}
감사합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다