를 작동하지 그것은 내 컨트롤러의 상단 선이MVC WebApi CamelCasingPropertyNames는 BadRequest
public async Task<IHttpActionResult> ForgotPassword(ForgotPasswordBindingModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
}
다음은 있습니다
var jsonFormatter = config.Formatters.JsonFormatter;
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
좋은 요청을 작동 내 모델이 컨트롤러에 전달됨
public class ForgotPasswordBindingModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
}
내 모델을 직렬화 할 때 클라이언트 사용자 이름 및 이메일로 K는
Object {message: "The request is invalid.", modelState: Object}
message: "The request is invalid."
modelState: Object
model.Email: Array[1]
0: "The Email field is not a valid e-mail address."
제대로 낙타 표기법되지 않은 객체 자체 ModelState
는 낙타가 제대로 맡았다 것으로 보인다 및 요청이 제대로 수행 결과 객체의 badrequest에 대한 modelState의 단 속성을 성공하면 할 오른쪽 camelcased 것 같습니다. modelState.model.email은 전자 메일의 경우 'E'를 좀 더 낮게 이해해야합니다. 나는 Config 설정이 이것을 처리했다고 생각했지만 그렇지 않습니다. 누구나 모델 스테이트가 직렬화되었을 때 올바르게 camelcased되지 않은 이유는 무엇입니까?