具有两个具有相同参数的get方法的Web API控制器

Yasmine

我正在使用asp.net Web API构建Http服务,我在控制器中有两个具有相同参数的get方法,我不知道如何定义匹配这两个方法的路由,我只能调用其中一个,并且对于另一个我得到一个错误,即在控制器上未找到任何操作方法。这是定义的路线

RouteTable.Routes.MapHttpRoute(
         name: "default",
         routeTemplate: "{controller}/{lang}",
         defaults: new { lang = System.Web.Http.RouteParameter.Optional });
RouteTable.Routes.MapHttpRoute(
         name: "details",
         routeTemplate: "{controller}/{lang}/{action}/{id}");

以及控制器中的方法:

public IQueryable<RecipeDTO> Get(string lang)
{

}

[HttpGet]
public RecipeDTO Details(string lang, int id)
{

}

[HttpGet]
public IQueryable<RecipeDTO> Random(string lang, int count)
{


}

您会看到方法Details和Random具有相同的参数,我可以进行以下调用:

控制器名称/ en(与第一个get方法匹配)

controller-name / en / details / 1(与details方法匹配)

但是当我尝试:

控制器名称/ en / random / 5

我收到错误消息,未在控制器上找到任何操作方法,该如何解决。

提前致谢

基兰·查拉(Kiran Challa)

Web API严格要求将路由变量与参数名称匹配。您可以尝试将操作更改为以下内容(此处我们为该count参数的别名):

[HttpGet]
public IQueryable<RecipeDTO> Random(string lang, [FromUri(Name = "id")]int count)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通用Web API控制器

来自分类Dev

具有Web API 2控制器的Kendo Grid MVC包装器示例

来自分类Dev

两个视图控制器具有相同的故事板标识符

来自分类Dev

为什么我的角度控制器没有命中Web Api控制器?

来自分类Dev

在不同控制器中具有不同参数名称的MVC路由

来自分类Dev

具有两个PUT方法的Web API控制器抛出InvalidOperationException

来自分类Dev

从MVC控制器调用Web API

来自分类Dev

在滚动视图中具有表视图的两个视图控制器

来自分类Dev

具有空参数的$ http.get不会影响Web API控制器

来自分类Dev

您可以在同一个Web API控制器中使用2个具有不同参数类型的GET方法吗?

来自分类Dev

具有多个控制器的Spring Boot API?

来自分类Dev

同一控制器中具有不同参数的多个端点

来自分类Dev

具有多个参数的OData控制器方法

来自分类Dev

将具有两个文件和文本的FormData发送到控制器

来自分类Dev

如何在Web API中区分具有相同参数的三种POST方法

来自分类Dev

在两个不同目录中具有相同的控制器名称

来自分类Dev

ghci编译器优化:两次调用具有相同参数的函数

来自分类Dev

我们可以在Codeigniter控制器中创建两个具有相同名称的函数吗?

来自分类Dev

Web API控制器调用问题

来自分类Dev

为什么我的角度控制器没有命中Web Api控制器?

来自分类Dev

具有两个表控制器的主从应用程序中缺少导航

来自分类Dev

如果两个控制器具有相同的RequestMapping路径值,如何指定控制器名称?

来自分类Dev

ASP.NET MVC两个具有相同名称的控制器,如何指定视图位置

来自分类Dev

重载WEB API令牌控制器

来自分类Dev

具有多个POST和单个PUT方法的Web Api控制器

来自分类Dev

重用具有不同参数的 Angular 视图和控制器

来自分类Dev

两个控制器在 Spring Boot 中具有不同的最大文件大小

来自分类Dev

在控制器中组合具有相同流程的方法。

来自分类Dev

带有两个参数的资源控制器

Related 相关文章

  1. 1

    通用Web API控制器

  2. 2

    具有Web API 2控制器的Kendo Grid MVC包装器示例

  3. 3

    两个视图控制器具有相同的故事板标识符

  4. 4

    为什么我的角度控制器没有命中Web Api控制器?

  5. 5

    在不同控制器中具有不同参数名称的MVC路由

  6. 6

    具有两个PUT方法的Web API控制器抛出InvalidOperationException

  7. 7

    从MVC控制器调用Web API

  8. 8

    在滚动视图中具有表视图的两个视图控制器

  9. 9

    具有空参数的$ http.get不会影响Web API控制器

  10. 10

    您可以在同一个Web API控制器中使用2个具有不同参数类型的GET方法吗?

  11. 11

    具有多个控制器的Spring Boot API?

  12. 12

    同一控制器中具有不同参数的多个端点

  13. 13

    具有多个参数的OData控制器方法

  14. 14

    将具有两个文件和文本的FormData发送到控制器

  15. 15

    如何在Web API中区分具有相同参数的三种POST方法

  16. 16

    在两个不同目录中具有相同的控制器名称

  17. 17

    ghci编译器优化:两次调用具有相同参数的函数

  18. 18

    我们可以在Codeigniter控制器中创建两个具有相同名称的函数吗?

  19. 19

    Web API控制器调用问题

  20. 20

    为什么我的角度控制器没有命中Web Api控制器?

  21. 21

    具有两个表控制器的主从应用程序中缺少导航

  22. 22

    如果两个控制器具有相同的RequestMapping路径值,如何指定控制器名称?

  23. 23

    ASP.NET MVC两个具有相同名称的控制器,如何指定视图位置

  24. 24

    重载WEB API令牌控制器

  25. 25

    具有多个POST和单个PUT方法的Web Api控制器

  26. 26

    重用具有不同参数的 Angular 视图和控制器

  27. 27

    两个控制器在 Spring Boot 中具有不同的最大文件大小

  28. 28

    在控制器中组合具有相同流程的方法。

  29. 29

    带有两个参数的资源控制器

热门标签

归档