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