Каково поведение контроллера по умолчанию, не помеченное AcceptVerbs, HttpGet или HttpPost? - PullRequest
10 голосов
/ 09 сентября 2010

Если я создаю действие контроллера и не украшаю его AcceptVerbs, HttpPost или HttpGet.Каково поведение по умолчанию?

Разрешает ли действие какой-либо метод доступа или по умолчанию оно GET ?

Ответы [ 2 ]

16 голосов
/ 09 сентября 2010

Доступно через любой глагол.

4 голосов
/ 26 февраля 2014

В 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"; }
}
...