假设 ApiController 的动作具有多个参数:
[HttpPost]
public void AddAddress( Person person, Address address, int simple )
或类似的东西。现在我尝试发送一个带有内容类型application/json
和 json 的 post 请求,如下所示:
{
person: {...}, address: {..}, simple: 1
}
只是假设它是有效的 json ;)
或在这样的 json 数组中:
[person, address, simple]
但是 WebApi 无法识别这一点并告诉我它找不到操作,因为它不支持 json 请求中的多个参数。
我正在使用 HttpClient 从 C# 客户端执行此操作,我们想使用 json 进行发布请求。我想使用 WebApi.Client 包,它为 HttpClient 提供了几个有用的扩展,但我们有一个可移植的库项目(webapi 客户端不支持)。
我将如何支持此功能?
我尝试使用自定义 ActionFilter,它永远无法运行,因为它无法事先找到动作。我尝试了不知道上下文和参数的 MediaTypeFormatter,还尝试了 ModelBinder,它似乎也仅基于每个参数,并不总是被执行。
谢谢!