我需要这个方法来返回一个整数值:
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpPost("ByPayment")]
public int Payment(string accountId, string mount, string shenase)
{
return 21;
}
}
当我转到以下地址时:
http://localhost:1070/api/values/Payment/ByPayment?accountId=258965&mount=85694&shenase=85456
我收到以下错误:
有什么问题?我该如何解决?
答案 0 :(得分:2)
您可能有更多理由获得404.但有一件事肯定是错的 - 您向GET
请求发送标记为{{1}的方法}(这意味着它只响应[HttpPost("ByPayment")]
个请求。
我不知道您打算做什么,但您必须将其更改为POST
或使用可以发出[HttpGet("ByPayment")]
请求的REST客户端(例如REST Easy。
其他原因可能是您的控制器名称错误。它应该被称为POST
。
答案 1 :(得分:1)
我想用查询字符串参数发送Get请求。
1。将'HttpPost'更改为'HttpGet'
[HttpPost("ByPayment")]
至[HttpGet("ByPayment")]
2。同时更改您的请求网址,不正确。
http://localhost:1070/api/values/Payment/ByPayment?accountId=258965&mount=85694&shenase=85456
到
http://localhost:1070/api/Values/ByPayment?accountId=258965&mount=85694&shenase=85456
更新了代码
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("ByPayment")]
public int Payment(string accountId, string mount, string shenase)
{
return 21;
}
}
我建议请阅读此tutorial以了解webapi的基本知识。