2
在这里,我尝试使用调用的WebAPI控制器[路径]属性如何在控制器级别使用路由
为什么http://localhost:57997/Hello/Jan/1
不是配置的路线 而http://localhost:57997/Hello/Jan
获取数据
using a = System.Web.Http;
[a.Route("Hello/Jan")]
public IEnumerable<Department> GetDepartmets()
{
var x = pro.GetDept();
return x.ToList();
}
[a.Route("Hello/Jan/{id?}")]
public HttpResponseMessage GetDepartmets(int id)
{
if (id != null)
{
var x = pro.GetDeptById(id);
return Request.CreateResponse(HttpStatusCode.OK, x);
}
else
return Request.CreateResponse(HttpStatusCode.NotFound);
}
启用添加路由约束,看看它是否解决了这个问题'[a.Route(“你好/月/ {ID:INT ?}“)]'。你可能还需要包含Http {Verb}即:'[a.HttpGet]'。尽管公约应该根据行动名称捡起它 – Nkosi
你能展示一个更完整的控制器版本吗? – Nkosi