【问题标题】:.net core api project routing issue.net core api 项目路由问题
【发布时间】:2019-07-23 21:58:22
【问题描述】:

我是 .net 核心的新手,对路由的理解不是很好。我正在尝试使用路由模板进行 api 调用,如下所示

routeTemplate: "api/{controller}/{action}/{id}"

当我创建 api 类型的 .net 核心项目时,它添加了一个名称为 Values 的控制器,它访问 api 调用的方式是将路由放在控制器之上..[Route("api/[controller]")]

如何设置我的控制器以使用操作步骤?

我基本上希望能够像这样调用我的 api

https://localhost:44345/api/MyProcessor/getValues
https://localhost:44345/api/MyProcessor/AllDefinations

其中 MyProcessor 是控制器的名称。

【问题讨论】:

    标签: rest web asp.net-core


    【解决方案1】:

    您想调用您的 api,例如:https://localhost:port/api/[controllerName]/XXX

    1.如果最后一个XXX被定义为动作。有两种选择 关注:

    更改[Route] 模板:

    [Route("api/[controller]/[action]")]
    

    更改基于[Route("api/[controller]")][HttpGet]

    [HttpGet("[action]")]
    

    2.如果最后一个XXX 被定义为任何其他名称。您可以更改基于[Route("api/[controller]")][HttpGet]

    [HttpGet("getValues")]
    

    【讨论】:

    • 感谢 Rena,我将 Rote 模板添加到 [Route("api/[controller]/[action]")],然后我有 [HttpGet("Test")] public string Test() {返回“成功”;当我拨打这样的电话localhost:44345/api/MyProcessor/Test..说找不到页面..我在这里错过了什么?
    • 嗨莎拉,如果你使用这个路由模板然后有 [HttpGet("Test")],你的 url 应该是localhost:44345/api/MyProcessor/Test/Test
    • 非常感谢 Rena,效果很好,感谢您对此的帮助。
    猜你喜欢
    • 2021-01-11
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多