我已将dropwizard版本从1.3.12升级到2.0.12。 再次运行我的应用程序后,我在HttpServletRequest中得到了空指针异常。 这是示例代码
import javax.servlet.http.HttpServletRequest;
public class myClass{
@Context
private HttpServletRequest request;
@GET
@Path("/authenticate")
@Produces(MediaType.TEXT_HTML)
public Response getAuthentication(@QueryParam("myParam") String myParam) {
System.out.println(request);
}
}
就这样,您已经知道,为了简化起见,我从代码中删除了多余的位。 有什么建议为什么让HttpServletRequestas为null?使用dropwizard 1.3.12版可以正常工作。
答案 0 :(得分:1)
将具有字段上下文注入的资源实例迁移到Dropwizard 2.0中涉及到将字段推入所需端点中的参数,因此您的类将变成这样:
public class MyClass {
@GET
@Path("/authenticate")
@Produces(MediaType.TEXT_HTML)
public Response getAuthentication(final @Context HttpServletRequest request,
@QueryParam("myParam") String myParam) {
System.out.println(request);
return Response.ok().build();
}
}