我遇到了这种有趣的情况,我有一个用于 webApi 的 baseController 并已将问题追溯到此。如果我有一个具有输入参数类型 Object 的基本控制器,它将以 http 500 找到多个操作结束...
这是在使用 IISExpress 的 vs 2012 的默认空 mvc 4.0 项目中
public class BaseSecureApi : ApiController
{
public string Wtf(object ohMyGodThisIsSilly)
{
return null;
}
}
和控制器
public class Default1Controller : BaseSecureApi
{
// GET api/default1
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// POST api/default1
[HttpPost]
public string Post([FromBody]string value)
{
return "Postmyvalue:" + value;
}
}
还有一条路线
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
现在为什么路由会变得混乱。IRL 基类根据谁登录以及结果是否应该加密返回一个 httpResponse。