どのようにSpring MVCの@PathVariableは「/」、複数でパラメータを受け取るのでしょうか?

王羽(ジミー・ウォング):

私は画像を管理するためのファイルアップロードウィジェットに取り組んでいました。

Iは、画像パスが経由して受信することができることを望む@PathVariableような、スプリングMVCでhttp://localhost:8080/show/img/20181106/sample.jpgの代わりhttp://localhost:8080/show?imagePath=/img/20181106/sample.jpg

しかし、/春のMVCを解決され、アクセスするときには、常に404を返します。

この周りに何か良い方法はありますか?

ロマン・カラー:

申し訳ありませんがそれを言うために、私は@Alienの答えは問題ではない答えをして思う:それは唯一のドットの場合対処.@PathVariableはなく、スラッシュの場合を/

私はそれは私が考える非常にエレガントしかしSTIL OKではありません、一度問題を抱えていたし、ここで私はそれを解決する方法です。

private AntPathMatcher antPathMatcher = new AntPathMatcher();

@GetMapping("/show/**")
public ... image(HttpServletRequest request) {
    String uri = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
    String path = antPathMatcher.extractPathWithinPattern(pattern, uri);

    ...
}

おすすめ

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