Spring: Получить зарегистрированный шаблон URL в контроллере от HttpRequest - PullRequest
0 голосов
/ 11 июня 2018

Есть ли способ получить зарегистрированный шаблон URL (в контроллере) из входящего HTTP-запроса.

Например, если код моего контроллера

@RestController
@RequestMapping("greeting")
public class Greeting {

    @GetMapping("/{text}")
    public String echo(@PathVariable("text") String text) {
        return text;
    }

}

Входящий запрос http://localhost:8080/greeting/Hello, Я хочу получить значение сопоставления / приветствие / {текст} .Могу ли я добиться того же, используя любой перехватчик или обработчик?

Я зарегистрировал все исходные URL-адреса сопоставления, такие как /reeting / {text} , / users / find / {id} и т. Д. И требуется выполнить некоторую проверку, если входящий запрос попадает в какой-либо из этих зарегистрированных запросов.Я мог бы добиться того же, используя одну пользовательскую аннотацию уровня метода, но я не хочу менять все коды сейчас.Было бы неплохо, если бы я мог добиться этого с помощью одного перехватчика или расширения любых обработчиков пружин.

Приведенный выше фрагмент кода является примерным.У меня от 4 до 5 весенних приложений с разными API и я хочу создать общий пакет безопасности, который может достичь того же.

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Просто используйте приведенный ниже код, чтобы получить URL-адрес вместе с параметрами запроса / запроса.

request.getRequestURL().toString() + "?" + request.getQueryString();

Пожалуйста, обратитесь к этому для более хороших подходов.

Каков наилучший способ получитьтекущий URL в Spring MVC?

0 голосов
/ 19 января 2019

Вы можете получить доступ к этому от

final String pattern = request.getAttribute(org.springframework.web.servlet.HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE):

Источник: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/HandlerMapping.html#BEST_MATCHING_PATTERN_ATTRIBUTE

0 голосов
/ 11 июня 2018

Запрос HttpServletRequest request.getCurrentUrl () может получить URL

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