如果我创建一个控制器动作并且不使用AcceptVerbs
,HttpPost
或HttpGet
. 默认行为是什么?
该操作是否允许任何访问方法或默认为GET?
如果我创建一个控制器动作并且不使用AcceptVerbs
,HttpPost
或HttpGet
. 默认行为是什么?
该操作是否允许任何访问方法或默认为GET?
它可以通过任何动词访问。
这取决于动作的名称。如果操作以“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"; }
}