49

私は Spring アノテーションを使用HttpRequestContextしています。コントローラーからサービスに渡すことができます。

私は、静的な方法またはRequestContext周りを回るよりも優れた解決策を探しています。

4

6 に答える 6

109

春を使用している場合は、次のことができます。

public static HttpServletRequest getCurrentHttpRequest(){
    RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
    if (requestAttributes instanceof ServletRequestAttributes) {
        HttpServletRequest request = ((ServletRequestAttributes)requestAttributes).getRequest();
        return request;
    }
    logger.debug("Not called in the context of an HTTP request");
    return null;
}
于 2014-10-12T09:10:44.993 に答える