无法在控制器的方法中使用带有附加参数的 HttpServletRequest
Fail to have HttpServletRequest with additional argument in a method in a controller
当我将 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.;
根据@GyroGearless 的建议:
好像少了@Context
注解,你可以用这个试试,
@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(@Context HttpServletRequest request, ClientDto clientDto) {
当我将 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.;
根据@GyroGearless 的建议:
好像少了@Context
注解,你可以用这个试试,
@POST
@Path("new")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String create(@Context HttpServletRequest request, ClientDto clientDto) {