asp.net-core - Asp.net Core Api 自定义路由
问题描述
我想像这样访问我的 .net 核心控制器操作
api/myController/myAction
尝试了以下方法,但没有奏效:
app.UseMvc(routes => { routes.MapRoute("default", "{controller}/{action}/{id?}"); });
有什么建议么?
解决方案
在花费了一些试错之后。我发现我们必须装饰那个 Action 方法是这样的:
[HttpGet]
[Route("[action]")]
public async Task<ActionResult<object>> myAction()`
它奏效了。
我发现问题是如果您不路由到上述操作方法,它将采用默认操作名称作为索引并尝试路由它。
此 Route 参数强制它查找操作名称,即本示例的 myAction。你的控制器也应该有[Route("api/[controller]")]
装饰。
推荐阅读
- android - 无法匹配父自定义对话框的宽度
- excel - 根据单元格值从枢轴复制范围并粘贴到另一个工作表中 n 次
- python - 停止结束程序?
- django - Django-Ajax 传递多个参数
- powershell - Powershell等到文件下载后继续脚本
- unity3d - 命名空间“UnityEngine”中不存在“UI”
- node.js - Zoho 订阅验证 webhook 签名 NodeJS
- c# - 在 Microsoft Graph API C# 中,无法获取部门名称、经理名称并仅获得有限的用户响应
- stm32 - 在stm32上实现LIN协议
- reactjs - 嵌套对象的 promise.then() 中未定义响应