3

我希望用户能够使用 restful 语法访问对象(可能是 JSON 或 XML),而不必使用查询字符串。

因此,http://mywebsite.com/objects/get=obj1&get=obj2&get=someotherobject/他们可以做类似http://mywebsite.com/objects/obj1/obj2/的事情,而不是返回 xml/JSON。他们可以按任何顺序列出对象,就像使用查询字符串一样。

在 asp.net mvc 中,您可以像这样映射路由:

       routes.MapRoute(
           "MyRoute",
           "MyController/MyAction/{param}",
           new { controller = "MyController", action = "MyAction", param = "" }
       );

我想做类似的事情:

       routes.MapRoute(
           "MyRoute",
           "MyController/MyAction/{params}",
           new { controller = "MyController", action = "MyAction", params = [] }
       );

params数组将包含每个获取的位置。

4

2 回答 2

3

你可以使用一个包罗万象的参数

   routes.MapRoute(
       "MyRoute",
       "MyController/MyAction/{*params}",
       new { controller = "MyController", action = "MyAction"}
   );

这会将参数作为字符串传递,您可以将其拆分为 a/以获取数组。

于 2011-06-28T15:00:36.823 回答
3

不完全的。

您可以通过映射创建通配符参数{*params}
这将为您提供一个包含所有参数的字符串,然后您可以.Split('/').

于 2011-06-28T15:00:48.803 回答