11

如果我创建一个控制器动作并且不使用AcceptVerbs,HttpPostHttpGet. 默认行为是什么?

该操作是否允许任何访问方法或默认为GET

4

2 回答 2

16

它可以通过任何动词访问。

于 2010-09-09T03:39:43.067 回答
4

在 Web API 2.1 中:

这取决于动作的名称。如果操作以“Get*”开头,那么它将默认只接受 GET 请求。如果它以“Put*”开头,那么它将默认只接受 PUT 请求。与 POST 相同。

如果它不以任何已知动词开头,那么它将默认只接受 POST。

以下是我的测试结果:

public class BlahController : ApiController
{
    // only allows GET
    public string GetSomething() { return "GetSomething blah"; }

    // only allows PUT
    public string PutSomething() { return "PutSomething blah"; }

    // only allows POST
    public string PostSomething() { return "PostSomething blah"; }

    // only allows POST
    public string Fleabag() { return "Fleabag blah"; }
}
于 2014-02-26T09:42:12.103 回答