我正在调用一个返回服务器错误的api http://169.38.100.206/sr/gsr?spn=NEWGEN-00097 .
无法找到该资源 . 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用 . 请查看以下网址,并确保拼写正确 .
请求的URL:/ sr / gsr
我的路线配置是
public class RouteConfig {public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute(“ .axd / {* pathInfo}”);
routes.MapRoute(
name: "AMMReport",
url: "sr/gsr/{id}",
defaults: new { controller = "SupervisorReport", action = "GetSupervisorReport", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Login", id = UrlParameter.Optional });
}
}
我的问题实际上是这个api用于自动向客户端发送一个短信,就像这样
大家好,您今天有0/19人报告了0项活动 . 但是,19/19人没有报告任何活动,1人休假 . 点击http://169.38.100.206/sr/gsr?spn=NEWGEN-00097进行活动报告 . 我想在url中隐藏动作名称和控制器名称,即我已经给了sr和gsr.bt它没有用 . 话
说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用 . 请查看以下网址,并确保拼写正确 .
请求的URL:/ sr / gsr
1 回答
你应该提到位于App_Start文件夹中的WebApiConfig.cs中的api路由而不是App Route Config File.But如果你想在自定义控制器中调用一个动作,你可以在没有路由配置的情况下执行该操作 . 只需要在你要调用的方法上方添加
[HttpGet]
. 但我建议创建一个WebApi控制器来处理应用程序中的所有api请求 .以下内容适用于您的问题
Create New Api Controller
右键单击“控制器”文件夹,然后选择“添加新项”
从列表中选择Web API Controller,然后单击“添加”
在API控制器中,您应该能够正确使用Api Methods.Mention方法类型使用注释,如
[HttpGet], [HttpPost]
.在WebApiConfig.cs中更改
至
这将使您能够创建自定义api方法