我有一个基于asp.net mvc的大量使用的REST服务。其中一个资源是为您指定给定用户的用户提供如下路线:
.../User/{id}.{format}
例如:
http://mysvc.com/User/abc123.json
在这种情况下,id是用户名。我们目前有一个路线图,它接受所有字符但是周期,以免与[可选]格式扩展名发生冲突。
的RouteMap:
/User/{id[^\\.]+}
好吧,现在我们有了一个使用电子邮件地址作为用户名的新客户端。这显然会导致问题。我们已考虑取消格式扩展支持,因为所有已知客户端目前都使用json。但是,我宁愿不这样做并修改我的路由以接受格式或json或xml并仍然允许句点。
我觉得应该有一种方法来格式化这个正则表达式,以便说id可能包含句点,并且如果提供了格式仍然映射格式。但是,我目前正处于精神障碍之中。