c# - 未找到 API 路由
问题描述
我的代码中有一个带有路由前缀的 API,但是当我尝试点击它时,我得到一个 404。这是我的代码:
namespace MyProject.Authentication.Controllers
{
[RoutePrefix("api/user")]
public class MyUserController : ApiController
{
private readonly IMyDomainService _myDomainService;
public MyUserController()
{
_myDomainService = new MyDomainService();
}
[HttpGet]
[HttpRoute("get/test")]
public HttpResponseMessage Test()
{
return Request.CreateResponse(HttpStatusCode.OK, "test success");
}
}
}
当我尝试访问 mysite.com/api/user/get/test 时,我得到一个 404。
我检查了 AttributeRoutingHttpConfig.cs ,这与我在其他 API 工作正常的项目中的情况相同:
public static class AttributeRoutingHttpConfig
{
public static void RegisterRoutes(HttpRouteCollection routes)
{
// See http://github.com/mccalltd/AttributeRouting/wiki for more options.
// To debug routes locally using the built in ASP.NET development server, go to /routes.axd
routes.MapHttpAttributeRoutes();
}
public static void Start()
{
RegisterRoutes(GlobalConfiguration.Configuration.Routes);
}
}
编辑:这是在 ASP.NET 4.5
解决方案
您确定它不应该使用RouteAttribute
来装饰动作而不是HttpRouteAttribute
,您还没有通过使用智能感知创建一个名称HttpRouteAttribute
意外拥有您的类吗?
推荐阅读
- amazon-web-services - 是否可以仅验证启用 MFA 的 AWS Cognito 用户的密码?
- javascript - 如何使 JavaScript regexbb 查找缺少 html 属性
- python - 如何检查值是 nan 还是列表?
- c# - 项目引用错误版本的 DLL
- android - 安卓。如何跳转到路径中带有“$”符号的系统活动?
- javascript - 交换对象值,特别是使用“空”值
- c# - Helix Toolkit WPF,单击鼠标更改相机矢量
- sql-server - 从 csv 文件批量插入
- c# - COMException with interopServices C# in Excel only with xlsx
- keycloak - 登录后keycloak不断刷新