5 votes

Enunciate peut-il générer des documents pour une API qui gère les types génériques ?

Étant donné une classe de ressource générique abstraite et une implémentation concrète :

public abstract class AbstractResource<T> {

    @Autowired
    private SomeService<T> service;

    @Path("/{id}")
    @GET
    public T get(@PathParam("id") String id) {
        return service.get(id);
    }
}

@Path("/people")
public class PersonResource extends AbstractResource<Person> { }

Il semble que lors de la génération des documents pour PersonResource Enunciate ne prend pas en compte le fait que get() renvoie un Person .

  1. Personne ne figure pas dans la section Modèle de données > Types de données.

  2. Dans la section GET, le corps de la réponse indique que le type d'élément est "(custom)".

Ces problèmes sont-ils dus à l'utilisation de génériques comme types d'entités ? Existe-t-il un moyen d'indiquer à Enunciate quels sont les vrais types afin que la documentation puisse être générée correctement ?

enter image description here

0voto

Ryan Heaton Points 873

Est Person annoté comme @XmlRootElement ? Si oui, est-il inclus dans le même projet que PersonResource ? Si ce n'est pas le cas, importez-vous le Person comme décrit dans Énoncer : Projets multi-modules ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X