0

我正在尝试构建一个 web api,并在一个原始 json 参数(jsonbody)中接收到整个正文。我不会将它作为 JToken 项目类传递

这项工作:

   [System.Web.Http.HttpPost]
    public HttpResponseMessage WebRequestTest2([FromBody]JToken jsonbody)
    {...}

这不起作用(输入为空):

public class mdWREvent {public JToken jsonbody { get; set; }}
[System.Web.Http.HttpPost]
    public HttpResponseMessage WebRequestTest1([FromBody] mdWREvent Inputs)
    {...}

我怎样才能使它也起作用?

4

1 回答 1

0

在第一种情况下,它将尝试将整个主体反序列化为 json,在第二种情况下,它将尝试将主体反序列化为“Inputs”,并将属性“jsoninputs”反序列化为 Json 对象。

例如,场景 1 的 Json:

{
    "prop1" : 1,
    "prop2": "value"
}

场景 2 的 Json:

{
    "jsoninputs": {
        "prop1" : 1,
        "prop2": "value"
    }
}

PS:如果它是 POST/PUT 的对象,则不必用 [FromBody] 标记它。

于 2017-07-14T19:47:16.580 回答