我正在將項目遷移到asp net核心,但我無法配置這些路由,我正在使用屬性來映射操作。對於ASP.Net核心ASP.NET核心屬性路由
在Startup.cs設置app.UseMvc文件
代碼ASP.Net WebAPI2
[Route("api/[controller]")]
public class SalesController : Controller
{
// api/sales/1 -> ok
[HttpGet]
public HttpResponseMessage Get(int id)
{
// Logic
}
// api/sales -> ok
[HttpGet]
public HttpResponseMessage Get([FromUri] PaginationHelper pagination)
{
// Logic
}
// api/sales?me -> ok
[ActionName("Get")]
public HttpResponseMessage GetMe(bool? me)
{
// Logic
}
}
碼();
[Route("api/[controller]")]
public class SalesController : Controller
{
// api/sales/1 -> ok
[HttpGet("{id}")]
public IActionResult Get(int id)
{
// Logic
}
// api/sales -> don't work
[HttpGet] // -> ???
public IActionResult Get(PaginationHelper pagination)
{
// Logic
}
// api/sales?me -> don't work
[HttpGet] // -> ???
public IActionResult GetMe(bool? me)
{
// Logic
}
}
我不知道。但我認爲,你可以添加對一個路由,可能需要先於現有的,或者你可以一個路由屬性添加到方法與特定路線。 路線規則聲明時很重要,如果其他一個首先捕獲你不會到達那裏.. – rmjoia
這是否適合你? // GET api/values [HttpGet] public IActionResult Get() { return Ok(new string [] {「value1」,「value3」}); } –