当前位置: 首页 > 知识库问答 >
问题:

没有根元素名resteasy响应

东方修谨
2023-03-14

我在返回带有指定对象根名的对象列表时遇到了一些麻烦。我试过几种不同的方法。我确信我正在做一件像往常一样难以置信的愚蠢的事情,我很感激任何帮助。

这是我的东西

@XmlRootElement
@JsonRootName(value = "Bixasset")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
@Produces("application/json")
@Indexed    
public class Bixasset implements java.io.Serializable {
    @Id
    private UUID id;

    private Client client;

    private String name;

    private String asseturl;
    private Character active;
    private Integer width;
    private Integer height;
    private String thumbnailurl;
    private Date createddate;
    private String filetype;
    private String category;


    public Bixasset() {
    }

    public Bixasset(UUID id) {
        this.id = id;
    }

    public Bixasset(UUID id, Client client, String name, String asseturl,Character active, Integer width, Integer height, String thumbnailurl
        ,Date createddate, String filetype, String category) {
        this.id = id;
        this.client = client;
        this.name = name;
        this.asseturl = asseturl;
        this.active = active;
        this.width = width;
        this.height = height;
        this.thumbnailurl = thumbnailurl;
        this.createddate = createddate;
        this.filetype = filetype;
        this.category = category;


    }



    public UUID getId() {
        return this.id;
    }

    public void setId(UUID id) {
        this.id = id;
    }
    @ManyToOne(fetch=FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.REMOVE })
    @JoinColumn(name="clientid")
    public Client getClient() {
        return this.client;
    }

    public void setClient(Client client) {
        this.client = client;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAsseturl() {
        return asseturl;
    }

    public void setAsseturl(String asseturl) {
        this.asseturl = asseturl;
    }

    public Character getActive() {
        return active;
    }

    public void setActive(Character active) {
        this.active = active;
    }

    public Integer getWidth() {
        return width;
    }

    public void setWidth(Integer width) {
        this.width = width;
    }

    public Integer getHeight() {
        return height;
    }

    public void setHeight(Integer height) {
        this.height = height;
    }

    public String getThumbnailurl() {
        return thumbnailurl;
    }

    public void setThumbnailurl(String thumbnailurl) {
        this.thumbnailurl = thumbnailurl;
    }

    public Date getCreateddate() {
        return createddate;
    }

    public void setCreateddate(Date createddate) {
        this.createddate = createddate;
    }

    public String getFiletype() {
        return filetype;
    }

    public void setFiletype(String filetype) {
        this.filetype = filetype;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    }
@Path("/bixasset/")
@Produces(MediaType.APPLICATION_JSON)
public Response queryBixAsset(@QueryParam("id") String id, @QueryParam("filetype") String filetype, @QueryParam("category") String category,   @QueryParam("token") String token) {
    try{

        List<Bixasset> results = new ArrayList<Bixasset>(); 


        UUID ClientId = dAL.validateToken(token);

        if(token != null && ClientId != null){


                String query ="FROM Bixasset WHERE client.id = '" + ClientId + "' "; 


                if(id != null && !id.equals(""))
                    query += " AND id = '" + id + "'";

                if(filetype != null && !filetype.equals(""))
                    query += " AND filetype.id = '" + filetype + "'";

                if(category != null && !category.equals(""))
                    query += " AND category = '" + category + "'";




                query+= "  LIMIT 1000";
                results = dAL.query(query);
                System.out.println("query size" + results.size());


        }else{
            return Response.status(401).build();
        }


        return Response.ok(results).build();
    }catch(Exception e){
        return Response.status(400).build();
    }
}
   [
  {
    "id": "99f516a2-f7ef-4bc9-a627-73981a2fc3ae",
    "client": {
      "id": "388e16d6-d35e-4f8c-bba5-b1147b824473",
      "reseller": null,
      "name": "Phizzle",
      "createddate": 1357554435574,
      "address1": "123",
      "address2": "",
      "city": "San Francisco",
      "state": "CA",
      "postalcode": "80130",
      "country": "USA",
      "description": "Phizzle Master Client"
    },
    "name": "gears_animated.gif",
    "asseturl": "https://s3.amazonaws.com/asdad/99f516a2-f7ef-4bc9-a627-73981a2fc3ae.gif",
    "active": "0",
    "width": 141,
    "height": 141,
    "thumbnailurl": "https://s3.amazonaws.com/dadadsda/99f516a2-f7ef-4bc9-a627-73981a2fc3ae__thumbnail.jpg",
    "createddate": 1380927929287,
    "filetype": "image/gif",
    "category": "Images"
  }
]
   {"Bixasset" [
  {
    "id": "99f516a2-f7ef-4bc9-a627-73981a2fc3ae",
    "client": {
      "id": "388e16d6-d35e-4f8c-bba5-b1147b824473",
      "reseller": null,
      "name": "Phizzle",
      "createddate": 1357554435574,
      "address1": "123",
      "address2": "",
      "city": "San Francisco",
      "state": "CA",
      "postalcode": "80130",
      "country": "USA",
      "description": "Phizzle Master Client"
    },
    "name": "gears_animated.gif",
    "asseturl": "https://s3.amazonaws.com/adsdadd/99f516a2-f7ef-4bc9-a627-73981a2fc3ae.gif",
    "active": "0",
    "width": 141,
    "height": 141,
    "thumbnailurl": "https://s3.amazonaws.com/adadsd/99f516a2-f7ef-4bc9-a627-73981a2fc3ae__thumbnail.jpg",
    "createddate": 1380927929287,
    "filetype": "image/gif",
    "category": "Images"
  }
] }

共有1个答案

公冶元青
2023-03-14

您是否尝试设置@XmlRootElement的注释变量,而不是使用@JsonRootName?我是说:

@XmlRootElement(name = "Bixasset")
 类似资料:
  • 问题内容: 我需要解析一个连续的格式良好的XML元素流,仅向其提供一个已经构造的对象。这些元素没有包含在根元素中,也没有以XML标头开头,例如,但它们都是有效的XML。 使用Java 类是行不通的,因为XML Reader希望从封闭的根元素开始解析格式良好的XML。因此,它只是读取流中的第一个元素(它被视为根元素),而在下一个元素中失败,使用典型 org.xml.sax.SAXParseExcep

  • 我调用了一些web服务(用Ruby构造)并得到如下JSON响应: ...为了读取WS客户端中WS调用的响应,我尝试: ...但我有以下例外: 这是因为我的代码试图像这样处理JSON响应对象(带有一些'root'元素): 谢谢

  • 问题内容: 我希望能够根据列表中包含的对象类型为根列表元素添加别名。例如,这是我当前的输出: 这就是我想要的样子: 我可以在全球范围内做到这一点,方法是说所有列表都应以硬币为别名,但是我有很多不同的列表,这是行不通的。有关如何执行此操作的任何想法?似乎它应该很简单,但事实并非如此。 编辑:我应该指定,我正在尝试将对象序列化为xml。我正在使用Spring 3 MVC作为我的Web框架。 问题答案:

  • 我不确定以下问题是否适用于jaxb,但我还是会问。 在某个项目中,我们使用带有定义模式的jaxb来创建xml文件的下一个结构。 我们还使用jaxb的自动类生成来创建类:aaa和bbb,其中aaa生成为@XmlRootElement。 我们现在希望在新项目中使用相同的模式,该模式也将与以前的项目兼容。我想做的是使用相同的jaxb生成的类,而不需要对模式进行任何更改,以便仅将单个bbb对象封送到xml

  • 问题内容: 我正在制作带有Netflix徽标的pure徽标,但遇到问题了。我创建了span元素,也创建了span 2的元素。但是,当与.netflix span:nth-​​进行比较时,我不知道如何将.netflix span:nth-​​child(2)放在z轴上。 child(2):之前。基本上,我的问题是,有什么方法可以将元素放置在z轴上,而不是根据它们的父元素而不是我们想要的任何元素。在此

  • 执行以下命令时, gst-launch-1.0 filesrc location=野生动物。wmv!decodebin!队列ffmpegcolorspace!自动视频接收器12月!队列音频转换!音频重采样!自动音频接收器 I获取错误如下。 这里有什么问题?