【发布时间】:2017-12-29 21:05:40
【问题描述】:
我在使用 web api 时遇到了一些奇怪的行为。我正在使用属性路由,并在服务器上发帖。 控制器:
[Route("names")]
public ResultDTO SaveData(SomeDTO dto)
{
//somecode
...
}
我叫它
$http.post('/api/mycontroller/names', $scope.model.dto).success(function
(data) { ...
它正在工作。但是,如果我重命名我的方法
[Route("names")]
public ResultDTO GetData(SomeDTO dto)
{
//somecode
...
}
它不起作用,我收到 HTTP 405 错误您正在查找的页面无法显示,因为尝试访问时使用了无效的方法(HTTP 动词),
但是,如果我将调用从 $http.post 更改为 $http.get,它会起作用
显然,如果我要发布数据,我不会以 GetSomeMethod 开头命名我的方法,但我很好奇,不应该定义路由
[Route("names")]
使用 $http.post,不管我如何实际调用将处理该帖子的方法?更具体地说,如果我将方法命名为 GetSomething,为什么 $http.post 不起作用,但如果我将方法名称更改为 GotSomething 或 SaveSomething 等,它会起作用?
【问题讨论】:
标签: c# asp.net-web-api2 asp.net-mvc-routing