在WebApi控制器的GET方法中使用[FromBody]

gri*_*pia 6 c# rest swagger webapi2

所以我知道如何使用[FromUri]WebApi[FromBody]控制器的“Post”方法。不用说[FromUri],“Get”方法是不必要的,但很明确,并且效果很好。我的问题是我希望 WebApi 在“Get”方法上解析我的 HttpBody 以填充我的对象参数。像这样...

public IHttpActionResult Get([FromBody]Customer c) {
   if (c is null) {
      // problem :-(
   }
}
Run Code Online (Sandbox Code Playgroud)

首先,让我解释一下我为什么要这样做。这是因为我的“获取”URL 很复杂。我需要在其中包含 JSON 对象。因此,虽然我知道使用 HTTP Body 作为“Get”上的有效负载并不是完美的 REST,但我还是愿意这样做。

其次,对于那些认为我应该将其包含在 URL 中的人……好吧,好吧。但是,请告诉我如何测试,因为我尝试在 URL 上输入 JSON 对象,浏览器引用了它的内容,但即使使用[FromUri]我的“获取”WebApi 控制器方法,我也无法解析它。我也尝试通过 Swagger 卷曲,但同样的问题。

我的 JSON 对象很简单{ "a" : "A", "b" : "B" }

预先感谢您的任何帮助。