为了账号安全,请及时绑定邮箱和手机立即绑定

ASP.NET Core Web API如何构建URL?

ASP.NET Core Web API如何构建URL?

C#
LEATH 2021-04-03 15:19:18
我有以下代码:[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调用有效的原因。


查看完整回答
反对 回复 2021-04-17
  • 1 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信