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

时间:2018-10-25 21:27:52

标签: c# rest swagger webapi2

因此,我知道如何在WebApi控制器的“ Post”方法上使用[FromUri]和[FromBody]。不用说“ From”方法中的[FromUri]是不必要的,但必须明确,并且效果很好。我的问题是我要WebApi在“获取”方法上解析我的HttpBody来填充对象参数。这样...

public IHttpActionResult Get([FromBody]Customer c) {
   if (c is null) {
      // problem :-(
   }
}

首先,让我解释一下为什么要这样做。这是因为我的“获取”网址很复杂。我需要在上面包含JSON对象。因此,尽管我知道使用HTTP正文作为“获取”上的有效负载并不是完美的REST,但我还是愿意这样做。

第二,对于那些认为我应该只将其包括在URL中的人……好吧,很好。但是,然后请告诉我如何测试,因为我尝试在URL上键入JSON对象,浏览器引用了该对象的内容,但是即使在我的“获取” WebApi Controller方法上使用了[FromUri],我也无法将其获取到解析。我也尝试过通过Swagger进行卷曲,但问题相同。

我的JSON对象就是{ "a" : "A", "b" : "B" }

在此先感谢您的帮助。

0 个答案:

没有答案