在ASP.NET Core中,可以通过使用自定义路由来定义API的路由。以下是一个示例解决方案,其中包含一个带有自定义路由的控制器。
创建一个新的ASP.NET Core Web API项目。
在项目中创建一个新的控制器,例如CustomRouteController.cs
。
using Microsoft.AspNetCore.Mvc;
namespace YourNamespace.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class CustomRouteController : ControllerBase
{
[HttpGet("customroute/{id}")]
public IActionResult CustomRouteAction(int id)
{
// 处理自定义路由的逻辑
return Ok($"CustomRouteAction called with id: {id}");
}
}
}
在上面的示例中,我们创建了一个CustomRouteController
控制器,并在路由上添加了customroute
。该控制器只包含一个GET动作,接受一个名为id
的整数参数,并返回一个包含id值的字符串。
Startup.cs
文件的ConfigureServices
方法中,将API控制器添加到应用程序服务中。public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
Startup.cs
文件的Configure
方法中,启用路由。public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略其他配置代码
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
GET /api/customroute/123
以上请求将调用CustomRouteAction
动作,其中id参数的值为123。