Web API Request.Content会截断前3个字符

时间:2018-06-22 01:55:19

标签: asp.net-mvc rest asp.net-web-api

我们在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

0 个答案:

没有答案