実際のURL文字列のパターンを取得するには、春のインターセプタで要求マッピングオブジェクトを取得します。

Aadam:

理由を説明するのは難しいかもしれないが、私は現在、要求されたURLのリクエストURLマッピング文字列を取得する必要があり、このような状況を持っています。

Like if I have a GET URL as "/Test/x/{number}" 
I want to get "/Test/x/{number}" not "/Test/x/1"

私はインターセプタの実際の宣言URL文字列を取得することができますか?

これが可能であればどのように私はこれを達成することができます

ダレン・フォーサイス:

あなたは、実装することができHanderInterceptor、インターセプトに予めたり、リクエストを投稿し、メソッドイントロスペクションと呼ばれています。

public class LoggingMethodInterceptor implements HandlerInterceptor {
    Logger log = LoggerFactory.getLogger(LoggingMethodInterceptor.class);

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        HandlerMethod method = (HandlerMethod) handler;

        GetMapping mapping = method.getMethodAnnotation(GetMapping.class);

        log.info("URL is {}", Arrays.toString(mapping.value()));

        return true;
    }
}

この意志出力、 URL is [/hello/{placeholder}]

全例がここで見つけることができ、https://github.com/Flaw101/spring-method-interceptor

あなたは、唯一の特定のメソッドをイントロスペクトするなどの要求などの特定の種類をより多くのロジックを追加することができます

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=188236&siteId=1