如何解决ASP.NET MVC 3路由中的响应格式规范
| 我正在为网站创建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\" } _
)
高温超导
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。