首页 > 解决方案 > 在 WebApi 控制器的 GET 方法中使用 [FromBody]

问题描述

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

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

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

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

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

提前感谢您的帮助。

标签: c#restswaggerwebapi2

解决方案


推荐阅读