要暴露一个不需要控制器名称来访问其方法的 Web Api Rest 服务,可以使用属性路由来实现。以下是一个示例解决方法:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// 启用属性路由
config.MapHttpAttributeRoutes();
// ...
}
}
[RoutePrefix("api")]
public class MyApiController : ApiController
{
// ...
}
[Route("myMethod")]
public IHttpActionResult MyMethod()
{
// 方法逻辑
return Ok();
}
[Route("myMethod/{id}")]
public IHttpActionResult MyMethod(int id)
{
// 方法逻辑
return Ok();
}
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
// ...
}
使用上述方法,可以通过访问 /api/myMethod 或 /api/myMethod/{id} 来访问相应的方法,而无需指定控制器名称。
上一篇:暴露选择返回类型