java

时间:2016-07-29 07:38:13

标签: java jax-rs cxf

我尝试访问 BeanParam ,但我的身边不可能,因为许多事件访问类路径上存在的旧版本jar,所以我无法从类路径中删除jar文件。 我尝试了很多方式,但最后,
我决定使用以下链接创建自己的 BeanParam : -

javatpoint | Annotation_Type_BeanParam_From_Oracle | Source_code_of_the_class_BeanParam 有代码: -

我的BeanParam界面

            import java.lang.annotation.Documented;
            import java.lang.annotation.ElementType;
            import java.lang.annotation.Retention;
            import java.lang.annotation.RetentionPolicy;
            import java.lang.annotation.Target;

            @Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
            @Retention(RetentionPolicy.RUNTIME)
            @Documented
            public @interface myBeanParam {

            }

我的模特课

           import javax.ws.rs.QueryParam;
           public class ControllerFilterBean {

           @QueryParam("id") String row_id;
           @QueryParam("ot") String objectType;

           public String getRow_id() {
                return row_id;
            }
           public void setRow_id(String row_id) {
                this.row_id = row_id;
            }
           public String getObjectType() {
                return objectType;
            }
           public void setObjectType(String objectType) {
                this.objectType = objectType;
            }
           }

我的资源

    public class MyResources {
        @GET
        @Path("/do/beanTest")
        @Produces("application/json")
        public Response beanTest(@myBeanParam ControllerFilterBean bean/*
        @QueryParam("id") String row_id,
        @QueryParam("ot") String objectType*/){
          System.out.println(bean.objectType);
          System.out.println(bean.row_id);
          /*System.out.println(row_id);
          System.out.println(objectType);*/
          ResponseBuilder rBuild =  Response.status(Response.Status.OK);
          return Build.type(MediaType.APPLICATION_JSON).entity("OK").build();
      }

   }

然后最终想要访问我的资源类然后抛出

警告:未找到请求的消息正文阅读器

我希望在我的代码中获得帮助,因为它会出错。

0 个答案:

没有答案