当我将 HttpServletRequest 作为参数之一添加附加参数时,我无法使 Controller 工作。以下代码可以编译并且没有出现异常。
@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) {
}
异常(exception)情况如下:
[[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) {
关于java - 无法在 Controller 的方法中使用带有附加参数的 HttpServletRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51419603/