新しい Web API では、次のようなキャッチ オール ルートを使用できますか
routes.MapHttpRoute(
name: "name",
routeTemplate: "api/{*id}",
defaults: new { controller = "mycontroller", id = RouteParameter.Optional}
);
PUTメソッドで?通常、PUT メソッドは次のように使用されます。
public HttpResponseMessage Put(string id, string body)
{
...
}
はbody
PUT リクエストの本文です。ただし、すべてのルートをキャッチすると、これは機能していないようで、エラーが発生します
{
"ExceptionType":"System.ArgumentException",
"Message":":"No 'MediaTypeFormatter' is available to read an object of type 'String' with the media type ''undefined''.",
"StackTrace":"..."
}
私のputメソッドがどのように見えるか
public HttpResponseMessage Put(string id)
{
...
}
ルート情報が id パラメータに渡される catch all ルートを使用できるはずであり、応答オブジェクトから本文にアクセスできる必要があると考えています。何か案は?