我有WebApi
带字符串参数的方法:
public IEnumerable<Foo> Get(string stuff)
{
//do stuff
}
路线:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{stuff}",
defaults: new { stuff= RouteParameter.Optional }
);
如果我这样调用方法:
http://localhost:13892/api/servce?stuff=https://mysite.com/bla?g=1
- 一切都好
但如果我去 http://localhost:13892/api/servce/https://mysite.com/bla?g=1
- 得到错误: A potentially dangerous Request.Path value was detected from the client (:).
我知道如何解决该错误,但我想知道为什么会这样?为什么在第一种情况下我没有收到该错误?