无法在控制器的方法中使HttpServletRequest具有附加参数

时间:2018-07-19 09:55:45

标签: java jersey

当我将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.;

1 个答案:

答案 0 :(得分:1)

根据@GyroGearless的建议:

似乎缺少@Context批注,您可以尝试使用

@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(@Context HttpServletRequest request, ClientDto clientDto) {