Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在控制器中的方法中包含带有附加参数的HttpServletRequest_Java_Jersey - Fatal编程技术网

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
注释。