如何将 api 添加到服务器?

How do I add an api to server?

我在项目中添加了一个api控制器并更改了启动文件。但是还是不行

[Route("api/[controller]")]
[ApiController]
public class HomeApiController : ControllerBase
{
    // GET: api/HomeApi
    [HttpGet]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

}

routes.MapRoute(
    name: "default",
    template: "{culture=en}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
    name: "api",
    template: "api/{culture=en}/{controller=Home}/{action=Index}/{id?}");

控制器上的路由属性

[Route("api/[controller]")]
public class HomeApiController : ControllerBase

将映射到

api/homeapi

因为控制器名称被路由模板中的 [controller] 标记替换。

相应地重命名控制器

[Route("api/[controller]")]
[ApiController]
public class HomeController : ControllerBase

或更新路线模板

[Route("api/home")]
[ApiController]
public class HomeApiController : ControllerBase

引用Routing to controller actions in ASP.NET Core

引用Routing in ASP.NET Core