在ASP.NET Core中,可以使用方括号([])在控制器路由中指定参数化的路由。下面是一个解决方法,包含代码示例:
[HttpGet("api/[controller]")]
public IActionResult GetItemById([FromRoute] int id)
{
// 根据id获取项目并返回
return Ok();
}
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "api/[controller]/{action}/{id?}");
});
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
这样,当通过GET请求访问"api/Item/GetItemById/1"时,将会调用GetItemById方法,并将id参数设置为1。