Java 从HttpServletRequest转换为WebRequest

Java 从HttpServletRequest转换为WebRequest,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我已经使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包生成了一个Spring引导web应用程序 使用的技术: 弹簧靴2.0.0.M6,Java 8,maven 我在班上的第一节课上有这个方法 private Map<String, Object> getErrorAttributes(HttpServletRequest request,

我已经使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包生成了一个Spring引导web应用程序

使用的技术:

弹簧靴2.0.0.M6,Java 8,maven

我在班上的第一节课上有这个方法

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

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

    }

您不需要将
HttpServletRequest
强制转换为
WebRequest
。您需要的是在控制器方法中使用
WebRequest

@GetMapping("/endpoint")
public .. endpont(HttpServletRequest request, WebRequest webRequest) {
    getErrorAttributes(request, webRequest, true);
}
并更改为
getErrorAttributes
方法

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

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

}
私有映射getErrorAttributes(HttpServletRequest请求、WebRequest WebRequest、,
布尔值(includeStackTrace){
RequestAttributes RequestAttributes=新的ServletRequestAttributes(请求);
返回此.errorAttributes.getErrorAttributes(webRequest,includeStackTrace)
}

您可以删除RequestAttributes RequestAttributes=new ServletRequestAttributes(请求);以及getErrorAtributes的HttpServletRequest如果任何人仍然有兴趣从HttpServletRequest获得
WebRequest
,下面是如何:
WebRequest WebRequest=new ServletWebRequest(request)反之亦然。来自WebRequest的HttpServletRequest
private Map<String, Object> getErrorAttributes(HttpServletRequest request, WebRequest webRequest,
                                               boolean includeStackTrace) {

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

}