Java 无法在控制器中的方法中包含带有附加参数的HttpServletRequest
当我将Java 无法在控制器中的方法中包含带有附加参数的HttpServletRequest,java,jersey,Java,Jersey,当我将HttpServletRequest作为控制器的一个参数时,我无法使控制器工作。下面的代码编译并没有给出任何异常 @POST @Path("new") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String create(HttpServletRequest request) { } 但是,当我添加额外的参数时,会引发异常 @POST @Path("new") @Consum
HttpServletRequest
作为控制器的一个参数时,我无法使控制器工作。下面的代码编译并没有给出任何异常
@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(HttpServletRequest request) {
}
但是,当我添加额外的参数时,会引发异常
@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(HttpServletRequest request, ClientDto clientDto) {
}
例外情况如下:
[[FATAL] Method public java.lang.String CreditController.create(
javax.servlet.http.HttpServletRequest,dto.ClientDto) on resource class CreditController
contains multiple parameters with no annotation.
Unable to resolve the injection source.;
根据@gyroless的建议: 它似乎缺少
@Context
注释,您可以这样尝试
@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(@Context HttpServletRequest request, ClientDto clientDto) {
对于
HttpServletRequest
我添加了公共字符串创建(HttpServletRequest,@QueryParam(“clientDto”)clientDto-clientDto)
,但代码现在无法编译。@gyroless谢谢!只需要@Context
注释。