Springboot: поймать исключение, если в URL есть% 2F - PullRequest
0 голосов
/ 23 марта 2020

У меня есть запрос на сопоставление, как это -

@RequestMapping(value = {
    "/v1/users/{userId:" + UUID_REGEX + "}/groups")

И когда я пытаюсь сделать GET с нижеприведенным URL-адресом

GET /v1/users/%3C%2Ftitle%3E%3Csecurity_scan_xss_13ed9d28-579e-4b5-sss-035d34%2F%3E/groups

Я получаю этот ответ -

<!doctype html>
<html lang="en">

<head>
    <title>HTTP Status 400 – Bad Request</title>
    <style type="text/css">
        ...
    </style>
</head>

<body>
    <h1>HTTP Status 400 – Bad Request</h1>
</body>

</html>

Есть ли способ уловить это, поскольку я хочу отправить пользовательское сообщение об ошибке для всех этих сценариев ios?

Я попытался поставить org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true в файле свойств, но ответ остается прежним.

1 Ответ

0 голосов
/ 23 марта 2020

Да, начните с создания пользовательского класса исключений, который расширяет IllegalArgumentException, а затем сгенерируйте это исключение в случае возникновения ошибки. По умолчанию все IllegalArgumentExceptions обрабатываются как Http Bad Request

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