Bonjour à tous,
Je viens poser un petit soucis ou je ne vois comment le détourner en fait ?
et si on trouve ça servira à plein de monde je pense j'ai pas trouvé réponse sur le web en fait.
Je fais actuellement un web service en REST, tout marche très bien sauf sur un point précis.
Je dois générer un fichier xml jusque ici tout allez bien l’introspection de mon code me faisait bien mes tags etc... mais le fichier que je dois sortir possède des balise à la c.. genre <organisme-formateur>
et là soucis car je ne peux pas faire des méthodes getOrganisme-formateur le caractère - me l'empèche logique mais c'est pas moi qui ai choisis la config de ce fichier xml je précise, donc je suis bien ennuyé pour récapituler j'ai :
Sur la partie objet utilisé comme root Element
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 @Path("/offres/{idOffres}") @Produces({"application/xml"}) public class Rest { @GET public Lheo getOffres(@PathParam("idOffres") String id) { Lheo lheo = new Lheo(); if (Integer.parseInt(id) == 1) { /*Pour les tests de collections et ca marche*/ // Periodes Session_Periode sessionPeriode1 = new Session_Periode(); sessionPeriode1.setDebut("debutPeriode1"); sessionPeriode1.setFin("finPeriode1"); Session_Periode sessionPeriode2 = new Session_Periode(); sessionPeriode2.setDebut("debutPeriode_2"); sessionPeriode2.setFin("finPeriode_2"); // Sessions Session session1 = new Session(); session1.setPeriode(sessionPeriode1); Session session2 = new Session(); session2.setPeriode(sessionPeriode2); // La collection pou tests d'introspection Collection<Session> collectionDeSession = new ArrayList<Session>(); collectionDeSession.add(session1); collectionDeSession.add(session2); // remplir l'objet lheo.setIdAide(10); lheo.setCONTENU("Turlutu chapeau pointu !"); lheo.setSession(collectionDeSession); } return lheo; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 @XmlRootElement public class Lheo { private int idOffres; private String CONTENU; private Collection<Session> session; public Collection<Session> getSession() { return session; } public void setSession(Collection<Session> session) { this.session = session; } public String getCONTENU() { return CONTENU; } public void setCONTENU(String CONTENU) { this.CONTENU = CONTENU; } public int getIdOffres() { return idOffres; } public void setIdOffres(int idOffres) { this.idOffres = idOffres; } }
Je vous passe la config web xml tout le monde s'en moque
Mon soucis c'est que je vais devoir changer CONTENU par CONTENU-organisme par exemple et là normal on déclare pas des variables comme ça avec des opérateurs donc je peux pas faire.
Ma piste serait la suivant dire à mes getters qu'il me renvoie autre chose correspondant à ce que attends le moteur jersey mais je vois pas comment faire ?
sinon c'est vraiment agréable ça me génère le flux dynamiquement ce qui fait que après mes données venant d'une BDD ce sera super tranquille (il me restera à trouver comment mettre des attributs si c possible.
Merci de votre lecture
Cordialement,
Hervé
Partager