【问题标题】:Override REST POST method based on type of request根据请求类型覆盖 REST POST 方法
【发布时间】:2017-01-04 21:24:08
【问题描述】:

我正在使用 resteasy,我想要两个这样的 post 方法 -

@POST    
@Consumes("multipart/form-data")
public void post(   @PathParam("p1") String p1, 
                        @PathParam("p2") String p2,
                        @PathParam("p3") String p3,
                        @Suspended AsyncResponse asyncResponse, 
                        @Context HttpServletRequest httpServletRequest,
                        MultipartFormDataInput input)
@POST    
public void post(   @PathParam("p1") String p1, 
                            @PathParam("p2") String p2,
                            @PathParam("p3") String p3,
                            @Suspended AsyncResponse asyncResponse, 
                            @Context HttpServletRequest httpServletRequest)

第一个处理文件上传的 post 方法和其他处理除文件上传之外的所有请求的 post 方法。但是当我测试这些方法时,文件上传工作正常,但文件上传以外的请求没有达到这些方法中的任何一个。我怎样才能做到这一点? 另外,如果我能以某种方式在一个方法中接收两种类型的请求,然后根据文件是否上传有条件地处理请求,我很好......

【问题讨论】:

  • 嘿,你愿意告诉我你的客户端代码是什么样子的吗?我不断收到错误Unable to find contextual data of type: javax.ws.rs.ext.Providers,并且将@Context Providers providers 作为参数注入没有帮助:( 谢谢
  • 对不起哥们...现在我没有这个代码..
  • 这可能会有所帮助 - stackoverflow.com/questions/32436419/…

标签: web-services jax-rs resteasy


【解决方案1】:

哦..对不起伙计们..一定是构建问题,因为上述方法签名工作正常.. :)

【讨论】:

  • 有文件上传的时候第一个方法被调用了吗?还有,在没有文件上传的情况下是否调用了第二种方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
相关资源
最近更新 更多