我有以下代码:[Produces("application/json")][Route("api/[controller]")]public class MarketReportInstancesTableController : BaseController{ internal readonly MyIRIntegrationDbContext Context; public MarketReportInstancesTableController(ILogger<MarketReportInstancesTableController> logger, MyIRIntegrationDbContext context) : base(logger) { Context = context; } [HttpGet (Name ="PageData")] public IActionResult PageData([FromQuery] IDataTablesRequest request) { .... methd body in here }我尝试使用如下网址进行访问:http://somehost/pca/api/MarketReportInstancesTable/pagedata哪个不起作用,但是http://somehost/pca/api/MarketReportInstancesTable/确实有效。我的问题是,为什么这条路线会这样做?我想在同一个WebAPI控制器中有很多路径。我的处理方式有误吗?
1 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
您的路线中没有路线模板。您只有一个路线名称
路由名称可用于根据特定路由生成URL。路由名称对路由的URL匹配行为没有影响,仅用于URL生成。路由名称在应用程序范围内必须是唯一的。
重点矿
//GET api/MarketReportInstancesTable/pagedata
[HttpGet ("pagedata", Name ="PageData")]
public IActionResult PageData([FromQuery] IDataTablesRequest request) {
//.... methd body in here
}
使用[HttpGet]未经路由模板是相同的[HttpGet("")],这将映射到与路由前缀控制器的根。
这说明了您的root调用有效的原因。
- 1 回答
- 0 关注
- 294 浏览
添加回答
举报
0/150
提交
取消