无法在 C# .Net Framework 中使用参数调用 HttpGet 方法
Cannot call HttpGet method with parameters in C# .Net Framework
我在调用带参数的 HttpGet 方法时遇到问题。我在 .Net Framework 4.7.2 中工作。我正在使用 Advanced REST Client 来测试我的方法。
当我调用一个没有参数的方法时,它工作得很好,但是当我想调用一个有参数的方法时,我不能。我犯的错误在哪里?
这是我的两种方法。
[HttpGet]
[Route("action1")]
public IHttpActionResult action1()
{
return Ok("blabla");
}
[HttpGet]
[Route("action2/{parameter}")]
public IHttpActionResult action2(string parameter)
{
return Ok(parameter);
}
这是我调用第二种方法的方式。正如我所说,第一个工作得很好。
这是我不断收到的消息:{ "Message": "No HTTP resource was found that matches the request URI 'https://localhost:44338/api/login/action2/?parameter="blabla"'.", "MessageDetail": "No action was found on the controller 'Login' that matches the request." }
该操作使用路由参数,该参数神奇地将 url 字符串(非查询参数)的一部分与操作参数相匹配。
您应该将 Postman 中的 URL 更改为 https://localhost:44338/api/login/action2/blabla
或者您可以从路由属性中删除 {parameter}
我在调用带参数的 HttpGet 方法时遇到问题。我在 .Net Framework 4.7.2 中工作。我正在使用 Advanced REST Client 来测试我的方法。 当我调用一个没有参数的方法时,它工作得很好,但是当我想调用一个有参数的方法时,我不能。我犯的错误在哪里? 这是我的两种方法。
[HttpGet]
[Route("action1")]
public IHttpActionResult action1()
{
return Ok("blabla");
}
[HttpGet]
[Route("action2/{parameter}")]
public IHttpActionResult action2(string parameter)
{
return Ok(parameter);
}
这是我调用第二种方法的方式。正如我所说,第一个工作得很好。
这是我不断收到的消息:{ "Message": "No HTTP resource was found that matches the request URI 'https://localhost:44338/api/login/action2/?parameter="blabla"'.", "MessageDetail": "No action was found on the controller 'Login' that matches the request." }
该操作使用路由参数,该参数神奇地将 url 字符串(非查询参数)的一部分与操作参数相匹配。
您应该将 Postman 中的 URL 更改为 https://localhost:44338/api/login/action2/blabla
或者您可以从路由属性中删除 {parameter}