问题描述
|
我正在为网站创建API。我正在使用ASP.Net MVC 3,并且试图创建支持可选.format参数的路由。因此,客户端应用可以请求/user/post.json、/user/posts.xml或仅请求/ users / posts
我可以使用以下路由使.json或.xml结束url \的工作:
routes.MapRoute( _
\"no_params\",_
\"{controller}/{action}.{format}\",_
New With {.action = \"Index\",.format = UrlParameter.Optional} _
)
但是如果没有.format参数(/ user / posts),我无法使url起作用。有人可以帮我一些例子吗?
谢谢!
解决方法
只需删除点:
routes.MapRoute( _
\"no_params\",_
\"{controller}/{action}{format}\",_
New With {.action = \"Index\",.format = UrlParameter.Optional},_
New With {.format = \"(\\.json|\\.xml)?\"} _
)
,首先,我要说的是客户端可以使用\'content-type \'而不是url来指定类型:)
但是要使其正常工作,您将需要注册另一种不带格式的路由,因为使用/ user / posts不包含句点(。),它不能与您指定的路由匹配。
routes.MapRoute(\"no_params_no_format\",\"{controller}/{action}\",_
New With {.action = \"Index\" } _
)
高温超导