2017-11-23 20 views
1

Spring Initializer、埋め込みTomcat、Thymeleafテンプレートエンジン、およびパッケージを実行可能なJARファイルとして使用して、Spring Boot Webアプリケーションを生成しました。使用HttpServletRequestからWebRequestへのキャスト

技術:

春ブーツ2.0.0.M6、Javaの8、Mavenの

私はクラスの1

private Map<String, Object> getErrorAttributes(HttpServletRequest request, 
                boolean includeStackTrace) { 

     RequestAttributes requestAttributes = new ServletRequestAttributes(request); 
     return this.errorAttributes.getErrorAttributes(request, includeStackTrace) 

    } 

でこのメソッドを持っている。しかし、私は方法がわかりませんjavax.servlet.http HttpServletRequestorg.springframework.web.context.request.WebRequest

The method getErrorAttributes(WebRequest, boolean) in the type ErrorAttributes is not applicable for the arguments (HttpServletRequest, 
    boolean) 

答えて

3

からキャストするためにあなたはキャストする必要はありません。 HttpServletRequestWebRequest。必要なのはコントローラメソッドでWebRequestを使用することです。

@GetMapping("/endpoint") 
public .. endpont(HttpServletRequest request, WebRequest webRequest) { 
    getErrorAttributes(request, webRequest, true); 
} 

、あなたが RequestAttributesのrequestAttributes =新しいServletRequestAttributes(要求)を削除することができ、あなたのgetErrorAttributes方法

private Map<String, Object> getErrorAttributes(HttpServletRequest request, WebRequest webRequest, 
               boolean includeStackTrace) { 

    RequestAttributes requestAttributes = new ServletRequestAttributes(request); 
    return this.errorAttributes.getErrorAttributes(webRequest, includeStackTrace) 

} 
+1

に変更。 とgetErrorAtributesからのHttpServletRequest – Toofy

関連する問題