我有以下控制器代码:
namespace PlatypusReports.Controllers
{
[RoutePrefix("api/platypus")]
public class PlatypusController : ApiController
{
[Route("{unit}/{begindate}")]
[HttpPost]
public void Post(string unit, string begindate)
{
. . .
}
[Route("{unit}/{begindate}")]
[HttpGet]
public string Get(string unit, string begindate)
{
. . .
}
. . .
调用POST方法有效,但调用GET方法不行;在后一种情况下,我得到“405方法不允许 - 请求的资源不支持http方法'GET'。”
我用Postman的相同网址称呼他们:
http://localhost:52194/api/platypus/poisontoe/201509
...唯一的区别是我选择“POST”它可以工作,当我选择“GET”它没有。
为什么POST会工作而不是GET?我需要在GET代码中更改哪些内容才能获得支持/允许?
答案 0 :(得分:1)
如果您使用的是apicontroller,则不需要装饰器HttpPost和HttpGet。如果你删除它们应该可以工作。