我们在Web API的Post操作中得到了空的模型对象(甚至客户端正在发送有效的json)。
当我们尝试在自定义属性Request.Content.ReadAsStringAsync().Result;
中使用[System.Web.Http.AuthorizeAttribute]
记录内容时,我们收到了有效的json
Ex:{prop1:"value1",prop2:"val2" }
但是在以下操作中,我们收到无效请求。当我们尝试记录内容
[HttpPost]
[Route("submitRequest")]
public IHttpActionResult SubmitRequest([FromBody]Test request)
{
string str = Request.Content.ReadAsStringAsync().Result;
// We got prop1:"value1",prop2:"val2" } output
}
由于模型绑定失败,因此在Json中缺少“ {”(在Json中)。
任何人都可以帮助我们为什么要让invalid Json发挥作用。我们已经配置了以下媒体格式或
config.Formatters.Add(new JsonMediaTypeFormatter());
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
[DataContract]
public class Test
{
[DataMember]
public string Prop1 { get; set; }
[DataMember]
public string Prop2 { get; set; }
[DataMember]
public string Prop3 { get; set; }
}
任何人都可以帮忙,为什么我们会得到无效的json