Java Spring - Как взять в RequestParam и удалить из URL? - PullRequest
0 голосов
/ 02 февраля 2019

Иногда я хочу передать идентификатор на мой сайт через URL, но я не хочу отображать это пользователю.Есть ли простой способ принять параметр запроса, но не отображать его пользователю при загрузке страницы?

Это общее представление о том, как мой код настроен в настоящее время

@GetMapping("/somePage")
public ModelAndView get(@RequestHeader HttpHeaders headers,
                        @RequestParam(value = "someId", required = false) String someId) {

Я знаю, что теоретически мог бы сделать это на стороне javascript, но, похоже, для этого требуется перезагрузить страницу или связываться с историей.

1 Ответ

0 голосов
/ 02 февраля 2019

Обычно это плохая практика - если он передается в URL, он будет виден в истории браузера пользователя.POST, вероятно, лучшая практика здесь.

Но чтобы ответить на ваш актуальный вопрос:

Поместите свое пользовательское значение в заголовок и перенаправьте?

Что-то в этом духе (не проверено)

headers.set("X-Custom-Header1", someId);
headers.set("Location", "/newEndpoint");
return new ResponseEntity<>(headers, HttpStatus.FOUND);
...