Spring 4 @RequestMapping处理带有特殊字符的REST URL

时间:2015-07-08 11:52:20

标签: spring rest spring-mvc spring-boot

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
}

1 个答案:

答案 0 :(得分:0)

这是预期的行为。它是fragment identifier,并不意味着用于在服务器端路由请求。

在浏览器中,点击同一页面中的#/members/browse?id=5678之类的其他锚链接会在页面中查找锚点,但不会向服务器发送请求。

我认为您可能正在使用诸如Ember或Angular之类的javascript框架,它们提供路由组件来在客户端路由这些事件并呈现视图。请参阅the router documentation for Ember