ASP.NET MVC 3 路由中的响应格式规范
我正在为网站创建 API。我正在使用 ASP.Net MVC 3,并且尝试创建支持可选 .format 参数的路由。因此客户端应用程序可以请求 /user/post.json、/user/posts.xml 或只是 /user/posts 我能够使用以下路线使 .json 或 .xml 结束 url 工作:
routes.MapRoute( _
"no_params", _
"{controller}/{action}.{format}", _
New With {.action = "Index", .format = UrlParameter.Optional} _
)
但我无法使没有 .format 参数 (/user/posts) 的 url 一起工作。有人可以帮我举一些例子吗?
谢谢!
I'm creating an API for a website. I'm using ASP.Net MVC 3 and I'm trying to create routes that support an optional .format parameter. So the client app could request /user/post.json, /user/posts.xml or just /users/posts
I was able to make the .json or .xml ending url's work using the following route:
routes.MapRoute( _
"no_params", _
"{controller}/{action}.{format}", _
New With {.action = "Index", .format = UrlParameter.Optional} _
)
But I couldn't make the url without the .format parameter (/user/posts) work alongside. Can anyone help me out here with some example?
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,我想说客户端可以使用“内容类型”而不是在网址上指定类型:)
但是要使其正常工作,您将需要注册另一个没有格式的路由,因为使用 /user/posts 不包含句点(.) 它与您指定的路线不匹配。
<代码>
paths.MapRoute("no_params_no_format", "{controller}/{action}", _
HTH
Firstly I would say that the client can specify the type using 'content-type' rather than on the url :)
But to get it working you will need to register another route without the format since using /user/posts does not contain a period (.) it cannot match the route you specified.
routes.MapRoute("no_params_no_format", "{controller}/{action}", _
HTH
只需删除点:
Just remove the dot: