我有以下代碼:[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 關注
- 316 瀏覽
添加回答
舉報
0/150
提交
取消