Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WebAPI中过滤基于结果的url参数?_C#_Asp.net_Asp.net Mvc 4_Asp.net Web Api - Fatal编程技术网

C# 如何在WebAPI中过滤基于结果的url参数?

C# 如何在WebAPI中过滤基于结果的url参数?,c#,asp.net,asp.net-mvc-4,asp.net-web-api,C#,Asp.net,Asp.net Mvc 4,Asp.net Web Api,我有WebAPI url(http://localhost:5134/api/TechDisci/00026)为用户返回多个TechScienties00026/TechDisci/是控制器名称,Get方法返回JSON数据 JSON数据在结果集中有主值和次值。现在,用户希望通过像这样传入url,使用主和次对其进行过滤 http://localhost:5134/api/TechDisci/00026/primary和http://localhost:5134/api/TechDisci/0002

我有WebAPI url(
http://localhost:5134/api/TechDisci/00026
)为用户返回多个TechScienties
00026
/TechDisci/
是控制器名称,
Get
方法返回JSON数据

JSON数据在结果集中有主值和次值。现在,用户希望通过像这样传入url,使用
对其进行过滤

http://localhost:5134/api/TechDisci/00026/primary
http://localhost:5134/api/TechDisci/00026/secondary

我的爪哇人可以使用这种url。如何在WebAPI中处理samethig?

您可以在控制器中使用“主要”和“次要”作为操作(方法)名称。然后需要添加一个新路由(在类Application.WebApiConfig中)

或者如果“主要”和“次要”是同一方法的参数。然后您可以添加此路线

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}/{priority}",
    defaults: new { priority = RouteParameter.Optional }
);
在这种情况下,您需要向Get方法添加一个重载,该方法接受两个参数(id、priority)

在这两种情况下,在主路由之前添加路由,以防万一,以确保它是第一个匹配的路由。

您可以在控制器中使用“主”和“次”作为操作(方法)名称。然后需要添加一个新路由(在类Application.WebApiConfig中)

或者如果“主要”和“次要”是同一方法的参数。然后您可以添加此路线

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}/{priority}",
    defaults: new { priority = RouteParameter.Optional }
);
在这种情况下,您需要向Get方法添加一个重载,该方法接受两个参数(id、priority)

在这两种情况下,在主路由之前添加路由,以确保它是第一个匹配的路由