我使用默认的ASP.NET Core MVC模板创建了一个项目。我希望也能在/api/{Controller}
下创建一个RESTful API。我添加了一个新的Web API控制器(标准的Web API控制器类模板),但是我不能调用它。我收到了一个页面找不到的错误。我尝试在Startup.cs中添加路由,但它没有起作用:
app.UseMvc(routes =>
{
routes.MapRoute(name: "default", template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(name: "api", template: "api/{controller=Admin}");
});
编辑:
就像我之前所说的,这都是默认模板。这是我添加的Web API控制器:
[Route("api/[controller]")]
public class AdminController : Controller
{
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody]string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}