Как передать зашифрованное значение в @Requestparam java при весенней загрузке - PullRequest
0 голосов
/ 10 апреля 2020

Я создал службу java с параметром @Requestparam String Id, когда я передавал точное значение, он работает нормально, когда я пытаюсь передать зашифрованное значение, которое не работает должным образом. Я дал свою работу ниже.

@GetMapping("fetch")
@Produces(value = "application/json")
@ApiOperation("Get user detail from Okta")
public ResponseEntity<UserInfoRespone> getUserDetailsFromOkta(@RequestParam String agentId) {

    System.out.println("Actual:" +"c4njCC2/reRud+O/I41w3w==");
    System.out.println("Incoming agent Id:" + agentId);

}

Когда я звоню в службу, используя почтальон, передал зашифрованное значение c4njCC2 / reRud + O / I41w3w == , но когда я пытался напечатать идентификатор входящего агента, который я обнаружил, что в текущем тексте пропало несколько символов, выглядит так: c4njCC2 / reRud O / I41w3w == он пропустил + символ и добавил пробел к себе. поэтому, когда я попытался расшифровать строку, она становится пустой.

Expected : c4njCC2/reRud+O/I41w3w==
Actual   : c4njCC2/reRud O/I41w3w==

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 10 апреля 2020

Вам необходимо URL-адрес, чтобы закодировать ваш параметр запроса следующим образом:

c4njCC2%2FreRud%2BO%2FI41w3w%3D%3D

Есть несколько сайтов, где вы можете кодировать / декодировать значения, как это (например, https://www.urlencoder.org/). Используя обычный java, вы можете использовать java.net.URLEncoder:

URLEncoder.encode("c4njCC2/reRud+O/I41w3w==", StandardCharsets.UTF_8);

Однако параметр запроса, вероятно, не лучший выбор для зашифрованных данных, поскольку у вас могут возникнуть проблемы с другими символами (даже в закодированном виде) а также.

Я бы предложил вместо этого предоставить эти данные в теле запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...