Spring 4如何处理具有特殊字符的REST URL,例如#?
例如:http://localhost:8080/#/members/browse?id=1234
以下代码似乎无效。
因为Spring总是丢弃(包括)#之后的所有内容,只返回http://localhost:8080
的响应有人能给我们一些帮助吗?
@RequestMapping(value = "/#/members/browse", method = RequestMethod.GET, produces = "application/json")
public String findMembers(@RequestParam(value="id", required=false) {
// some code
}
答案 0 :(得分:0)
这是预期的行为。它是fragment identifier,并不意味着用于在服务器端路由请求。
在浏览器中,点击同一页面中的#/members/browse?id=5678
之类的其他锚链接会在页面中查找锚点,但不会向服务器发送请求。
我认为您可能正在使用诸如Ember或Angular之类的javascript框架,它们提供路由组件来在客户端路由这些事件并呈现视图。请参阅the router documentation for Ember。