java - Java Spring - 如何接受 RequestParam,并从 url 中删除?
问题描述
有时我想通过 url 将标识符传递给我的网站,但我不想将其显示给用户。是否有一种简单的方法来获取请求参数但在加载页面时不向用户显示?
这是当前如何设置我的代码的总体思路
@GetMapping("/somePage")
public ModelAndView get(@RequestHeader HttpHeaders headers,
@RequestParam(value = "someId", required = false) String someId) {
我知道我理论上可以在 javascript 端执行此操作,但这似乎需要页面重新加载或与历史记录混淆。
解决方案
通常这是不好的做法 - 如果它在 URL 中传递,它将在用户的浏览器历史记录中可见。POST 可能是这里的最佳实践。
但是要回答您的实际问题:
将您的自定义值放入标题并重定向?
这些方面的东西(未经测试)
headers.set("X-Custom-Header1", someId);
headers.set("Location", "/newEndpoint");
return new ResponseEntity<>(headers, HttpStatus.FOUND);
推荐阅读
- qt - 在 QML 中尝试使用“MediaPlayer”播放音频文件时出现“无效媒体”
- vue.js - 浏览器缓存问题
- matplotlib - Tkinter 日期选择器
- sql - 从 Oracle 数据库表创建 json
- html - 尝试使用 R 从网页中抓取商业网站
- mysql - 错误:连接 ECONNREFUSED 127.0.0.1:3306(数据库未在节点 js 中与 mysql 连接)
- javascript - ejs <%- body %> 正文未定义
- assembly - 将内存地址而不是值移动到寄存器中
- excel - Excel VBA:如何将文本添加到特定列中的空白单元格,然后循环到下一个空白单元格并添加文本?
- arrays - 使用 for 循环时什么更有效?