我正在尝试制作一个接收3个参数的控制器。这三个参数在URL中给出。
[HttpGet]
public IHttpActionResult GetCompared(string TeamProject, string Project, string branch)
{
return Ok(_BranchesCompareService.BrancheCompare(TeamProject, Project, branch));
}
当我使用GET调用Postman上的控制器时:http://localhost:(port)/api/Compare/GetCompared?TeamProject=MyTM&Project=BlackList&branche=Develop
我收到的消息如下:
找不到与请求的URI“http://localhost:11860/api/Compare/GetCompared?TeamProject=Airports&Project=Vueling.BlackListPassenger&brancheToCompare=Develop”匹配的HTTP资源。 在匹配请求的“Compare”控制器上未找到任何操作。
任何的想法?感谢你!
您需要添加路线标记。尝试这样的事情:
[HttpGet]
[Route("api/Compare/GetCompared")]
public IHttpActionResult GetCompared(string TeamProject, string Project, string branch)
{
return Ok(_BranchesCompareService.BrancheCompare(TeamProject, Project, branch));
}
将FromQuery属性添加到参数:
[HttpGet]
public IHttpActionResult GetCompared([FromQuery]string TeamProject, [FromQuery]string Project, [FromQuery]string branch)
{
return Ok();
}
您需要将FromQuery属性添加到控制器参数。
// /[controller]/compare?TeamProject=xxxxx&&Project=xxxxxx&&branch=xxxxx
[HttpGet("compare")]
public IHttpActionResult GetCompared([FromQuery]string TeamProject, FromQuery]string roject, [FromQuery]string branch)
{
return Ok(_BranchesCompareService.BrancheCompare(TeamProject, Project, branch));
}