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

在CXF中通过@Path和@PathParam/@BeanParam避免冗余

  •  0
  • dpr  · 技术社区  · 6 年前

    @Path("/{type}/{name}/doSomething")
    public void doSomething(@PathParm("type") final String type, @PathParm("name") final String name);
    

    通过指定 @Path 方法级别上的注释,在 @PathParam

    作为两者 type name 总是聚集在一起并用于多个端点我希望将它们聚合到 @BeanParam @路径 而bean中的参数更难以识别为 注释将移动到bean类:

    @Path("/{type}/{name}/doSomething")
    public void doSomething(@BeanParam final TypeAndName typeAndName);
    

    使用这个java bean类:

    public class TypeAndName {
    
      @PathParam("type")
      private String type;
    
      @PathParam("name")
      private String name;
    
      // getters, setters, equals, hashcode
    }
    

    第一步可能是为这两个参数创建常量,并在这两个地方使用它们来提高可读性,但这并不能解决冗余问题。

    有什么方法可以指定与bean本身中的bean成员相对应的path元素来避免这种冗余吗?或者有没有其他更好的方法来保持两个值在一起?

    0 回复  |  直到 6 年前
    推荐文章