Sto usando Resteasy 2.0.1.GA e Resteasy-jettison-provider-1.2.GA con gli annunzii JAXB e ogni volta che ho una proprietà String che contiene tutti i numeri (ad es. String groupName="1111";
), la risposta JSON lo visualizzerà come un numero rimuovendo le virgolette doppie. Se lo cambio a String groupName="oneoneoneoneone";
la risposta JSON lo tratterà come un pungiglione emantenere le virgolette nella risposta. È comunque necessario che il fornitore di Jettison interpreti rigorosamente i dati in risposta in base al tipo e non al valore?
risposte:
4 per risposta № 1Questa sembra essere una "caratteristica" implicita di Jettison; cerca di introspettare i dati effettivi e capire quale sia il miglior tipo di adattamento, l'ho già incontrato prima, ed è esasperante.
Consiglio vivamente di abbandonare completamente Jettison e di usare il Supporto di RestEasy Jackson anziché. Jackson è una libreria di qualità molto migliore, e non soffre di queste "utili" funzionalità supporta le annotazioni JAXB proprio come Jettison.
0 per risposta № 2
Avere listener che imposta la seguente proprietà di sistema all'avvio del server.
System.setProperty("jettison.mapped.typeconverter.class"
,"org.codehaus.jettison.mapped.SimpleConverter");
Una volta che la proprietà è impostata su simpleConverter
quindi rilasciare i valori sempre come stringa se il tipo di dati è string o int non ha importanza.