Jeevi
Jeevi

Reputation: 3042

Enunciate not working with Generics

My resource is

@GET
@Path("/items")
public MyCollection<Items> getItems()throws Exception{
   //Code to return MyCollection<items>
}

My Item class is

   @XmlRootElement
   public class Item{
       private int id;
       private String name;
       //Have getters and Setters.
   } 

And My collection class is Generic as below.

 public class MyCollection<T> extends MyBaseCollection{
     private java.util.Collection<T> items;
     private int count;
 }

When i try to generate doc using enunciate. The sample Json has only the item and count and the fields of Item class is not getting reflected.

My sample Json generated is

      {
    "items" : [ {
    }, {
    }, {
    }, {
    }, {
    }, {
    }, {
    }, {
    } ],
    "count" : ...,
  }

How to get id,name inside the Item in the generated sample Json?

Thanks.

Upvotes: 3

Views: 403

Answers (1)

Megan D
Megan D

Reputation: 386

This is a limitation that i have run into as well, there is no way to specify @TypeHint on a nested object. To support documentation, consider creating a custom collection that defines "items" as a collection of specific class instead of generic.

If you have an idea of how you would want this to work (using the generic type) I suggest submitting enhancement request to Enunciate team.

I have a similar problem where I am returning a Map and I can't @TypeHint this.

Upvotes: 2

Related Questions