我希望用户能够使用restful语法访问对象(可以是JSON或XML),而不必使用查询字符串。
因此,http://mywebsite.com/objects/get=obj1&get=obj2&get=someotherobject/
代替http://mywebsite.com/objects/obj1/obj2/
,可以执行类似 routes.MapRoute(
"MyRoute",
"MyController/MyAction/{param}",
new { controller = "MyController", action = "MyAction", param = "" }
);
的操作,并返回xml / JSON。他们可以像查询字符串一样以任何顺序列出对象。
在asp.net mvc中,您可以映射一条路线:
routes.MapRoute(
"MyRoute",
"MyController/MyAction/{params}",
new { controller = "MyController", action = "MyAction", params = [] }
);
我想做类似的事情:
params
{{1}}数组将包含每个get。
答案 0 :(得分:3)
您可以使用catchall参数
routes.MapRoute(
"MyRoute",
"MyController/MyAction/{*params}",
new { controller = "MyController", action = "MyAction"}
);
这会将params作为字符串传递,您可以在/
上拆分以获取数组。
答案 1 :(得分:3)
不完全。
您可以通过映射{*params}
来创建通配符参数
这将为您提供包含所有参数的单个字符串,然后您可以.Split('/')
。