RestRoute允许在id中使用句点并接受结果格式

时间:2012-12-31 20:58:12

标签: c# regex asp.net-mvc rest

我有一个基于asp.net mvc的大量使用的REST服务。其中一个资源是为您指定给定用户的用户提供如下路线:

.../User/{id}.{format}

例如:

http://mysvc.com/User/abc123.json

在这种情况下,id是用户名。我们目前有一个路线图,它接受所有字符但是周期,以免与[可选]格式扩展名发生冲突。

的RouteMap:

/User/{id[^\\.]+}

好吧,现在我们有了一个使用电子邮件地址作为用户名的新客户端。这显然会导致问题。我们已考虑取消格式扩展支持,因为所有已知客户端目前都使用json。但是,我宁愿不这样做并修改我的路由以接受格式或json或xml并仍然允许句点。

我觉得应该有一种方法来格式化这个正则表达式,以便说id可能包含句点,并且如果提供了格式仍然映射格式。但是,我目前正处于精神障碍之中。

0 个答案:

没有答案