java - 如果值包含“#”,则 Spring REST @RequestMapping 提取不正确
问题描述
请参阅以下 Spring REST 示例,如果请求如“<a href="http://localhost:8080/site/name/exemple#name" rel="nofollow noreferrer">http://localhost:8080/site/ name/exemple#name”提交,Spring返回“exemple”并提取一半并删除#后面的文本。
@Controller
@RequestMapping("/site")
public class SiteController {
@RequestMapping(value = "/name/{myname}", method = RequestMethod.GET)
//myname='exemple'
...
}
如何解决?
解决方案
“#”是 URL 中的保留字符。它必须逃脱。它表示 URL 片段部分的开始。因此,名称是“示例”,片段是“名称”。
推荐阅读
- kubernetes - 在 Kubernetes 中配置 StatefulSet 的 Pod 的起始索引
- python-3.x - 忽略 SSL 证书验证有什么影响?
- arrays - 通过移动其他元素从 numpy 数组中删除子矩阵
- react-native - React 原生网页抓取提交表单
- ios - WKWebView 加载随机失败,NSURLErrorDomain 代码 -1200
- youtube-dl - 如何使用 youtube-dl 为下载的 youtube 视频刻录/硬编码字幕
- php - 使用 PHP、MYSql 和 Ajax 的分页无法正常工作
- c++ - 在地图中插入一对键
- mysql - 在 R 中实现 mysql rand() 函数的功能
- plugins - 当您为不同的操作系统创建应用程序快照时,snapcraft nodejs 插件如何处理 Node.js 环境?