デフォルトのWebAPIルートを使用
config.Routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new
{
id = RouteParameter.Optional
}
);
とコントローラー
public class TestController : ApiController
{
[HttpGet]
public HttpResponseMessage Get(string id)
{
return Request.CreateResponse(HttpStatusCode.OK, id);
}
}
へのリクエスト'api/test/1'
戻り値1
何らかの理由でリクエストを送信する場合'api/test/1%20'
ルート404。
ブラウザが末尾のスペースをトリミングするため、この例はばかげているように見えるかもしれませんが、
次のようなルートの場合'api/{controller}/{id}/{extrastuff}'
のスペースは'1 '
に変換され'1%20'
、リクエストはルート上で404が見つかりません。