尝试使用从URL接收的3个参数创建控制器

问题描述 投票:0回答:3

我正在尝试制作一个接收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”控制器上未找到任何操作。

任何的想法?感谢你!

c# asp.net .net rest web-services
3个回答
0
投票

您需要添加路线标记。尝试这样的事情:

[HttpGet]
[Route("api/Compare/GetCompared")]
public IHttpActionResult GetCompared(string TeamProject, string Project, string branch)
{
      return Ok(_BranchesCompareService.BrancheCompare(TeamProject, Project, branch));
}

0
投票

将FromQuery属性添加到参数:

    [HttpGet]
    public IHttpActionResult GetCompared([FromQuery]string TeamProject, [FromQuery]string Project, [FromQuery]string branch)
    {
        return Ok();
    }

0
投票

您需要将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));
}
© www.soinside.com 2019 - 2024. All rights reserved.