代码之家  ›  专栏  ›  技术社区  ›  menteith

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

  •  1
  • menteith  · 技术社区  · 6 年前

    我不能让我的控制器工作时,我添加额外的参数,当我有 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 回复  |  直到 6 年前
        1
  •  1
  •   eigenharsha    6 年前

    根据@gyorgearless的建议:

    好像不见了 @Context 注解,你可以试试这样,

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