【发布时间】:2012-11-04 13:39:19
【问题描述】:
使用默认的 web api 路由
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。
【问题讨论】:
标签: c# asp.net routing asp.net-web-api asp.net-mvc-routing