我正在将项目迁移到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”}); } –