我查阅了ASP.NET Web API参数绑定的文档,它们似乎只有fromURI和fromBody。是否有可能同时做到这两点?
以下是一些背景信息。我正在创建一个webhook接收器/处理程序,我可以控制哪个URL是webhook,但是在工作流的后期阶段我无法控制有效负载是什么样的,所以我需要将其作为JSON接收首先是字符串。
我希望能够设置可以接受查询字符串的路由以及来自HTTP POST的Json字符串有效负载。例如...... / api / incoming?source = A。
答案 0 :(得分:2)
如果我理解正确,你试图同时使用来自正文的Post数据和来自URI的一些参数。下面的示例应该从queryString捕获您的“source = a”值。
[Route("incoming")]
[HttpPost]
public IHttpActionResult Test([FromBody] string data, string source)
{
//Do something
return Ok("my return value");
}
如果您将路线格式化为... / api / incoming / source / A,您可以使用以下方式。
[Route("incoming/{source:string}")]
[HttpPost]
public IHttpActionResult Test([FromBody] string data, string source)
{
//Do something
return Ok("my return value");
}