WebApiConfig.csのルーティング構成は次のとおりです。
config.Routes.MapHttpRoute(
name: "DefaultApiPut",
routeTemplate: "api/{controller}",
defaults: new { httpMethod = new HttpMethodConstraint(HttpMethod.Put) }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { httpMethod = new HttpMethodConstraint(HttpMethod.Get, HttpMethod.Post, HttpMethod.Delete) }
);
これが私のコントローラーです:
public class MyController : ApiController {
[HttpPut]
public void Put()
{
//blah
}
}
どういうわけか、クライアントがURLを使用してPUTリクエストを送信すると、それはまだのメソッドに/api/myController/12345
マップされます。リソースが見つからないなどのエラーが発生することが予想されます。Put
MyController
Put
メソッドがパラメータなしでリクエストのみを受け入れるように強制するにはどうすればよいですか?
前もって感謝します!