要在ASP.NET控制器中添加API作为前缀,可以使用路由的特性和约定来实现。
方法1:使用特性路由
在控制器类上使用[RoutePrefix]特性来指定API前缀,然后在每个动作方法上使用[Route]特性来指定具体的路由。
[RoutePrefix("api/controller")]
public class MyController : ApiController
{
[Route("action1")]
public IHttpActionResult Action1()
{
// 处理逻辑
}
[Route("action2")]
public IHttpActionResult Action2()
{
// 处理逻辑
}
}
方法2:使用约定路由
在WebApiConfig.cs文件中配置默认路由,将API前缀添加到控制器的路由模板中。
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// 配置默认路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
然后,在控制器类中不需要使用特性路由,直接使用控制器名称和动作方法名作为路由。
public class MyController : ApiController
{
public IHttpActionResult Get()
{
// 处理逻辑
}
public IHttpActionResult Post()
{
// 处理逻辑
}
}
这样,API的路由将会是api/my
和api/my/{id}
。
无论使用哪种方法,都可以根据实际需求来选择适合的方式来添加API前缀。