0

我们有一个 webapi 项目,其中我有一个 API,如下所示:

[HttpPut]
public void Myfunc([FromBody] int a, [FromBody] int b,[FromBody] int c))
{    }

我首先启动 webapi 项目。获取 localhost 的链接...然后从fiddler->Composer我正确提供链接。

在输入参数部分,我试图提供如下参数:
{"a":"1","b":"2","c":"3"}

这是行不通的。如何使这项工作?

如果我按如下方式更改 API:

[HttpPut]
public void Myfunc([FromBody] myClass s))
{  }

并提供上述输入,然后它工作正常。请让我知道如何从 Bodies 提供多个输入......

4

1 回答 1

0

WebAPI 不允许使用多个[FromBody]-parameters。

此外,如果您定义 [FromBody] 参数,则不能将其作为 JSON 传递。以下是可行的示例:

[HttpPut]
public void Myfunc([FromBody] int a) {}

那么你的请求需要是=5. 请注意,您不能说a=5. 这也是你不能定义 3[FromBody]参数的原因。

为了适应您的情况,您需要接受一个代表 JSON 的对象(正如您在上一条评论中提到的)

于 2013-05-17T12:11:19.283 回答