Ci scusiamo per questa domanda smussata. Ma molti usano questi due termini giorno dopo giorno, ma non lo so. Ho fatto qualche studio su questo e sapevo cosa fosse separatamente. Ma non capisco come è correlato. Condividerò ciò che ho capito di questi due prima.Che cos'è JAXB e JAXRS? Come sono collegati?
JAXB è XML-to-Java la tecnologia di legame permettendo trasformazioni tra schema e gli oggetti Java e XML tra istanze documenti e le istanze di oggetti Java. Internamente JAXB esegue tutte queste conversioni tra xml e java. Questo è un parser di xml e quindi sa quale componente in xml corrisponde a ciò che in java e si interrompe. La conversione di questa risposta da JAXB è fatta da strumenti come xjc (o il plug-in di codifica ). Mappatura può essere come
xsd: string java.lang.String
xsd: integer java.math.BigInteger
jaxrs è diverso. Questo è un insieme di specifiche per la gestione delle richieste . Significa che dice "GET ("/foo ")" significa gestire una chiamata get con url/foo. Lo afferma solo Come è fatto? Sì, che è chiamato implementazione di questa specifica. Ci sono un numero di implementazioni come restlet, resteasy, jersey, apache cxf ecc. Questo è analogo alla logica e al modo in cui si implementa in matematica. l'idea dell'algoritmo è la ricerca del bucket. Può essere implementata in qualsiasi modo. In termini java JaxRs è l'interfaccia e questi 4 restlety, resteasy, jersey, apache cxf sono implementazioni dell'interfaccia.
Ora, per favore, dì se la mia comprensione è corretta. Poi racconta come sono collegati. Per favore aiuto . Se possibile, una spiegazione pittorica sarà più utile.
Grazie mille. Ma ho 2 domande. 1) cosa intendi con la frase "Di default per l'applicazione/il tipo di supporto xml JAX-RS userà JAXB". Quindi cosa succede per altri tipi di media. 2) cosa sottolinei con l'esempio che hai citato. Si prega di precisare. –
La seconda domanda di Ya nel commento 1 è stata cancellata. Ma sopra l'esempio hai detto "JAXB impl sarà usato per convertire quell'istanza di Cliente in XML".Questo codice è interno o è nello snippet di codice di esempio? Se nell'esempio puoi dire il numero della linea? –
È possibile sovrascrivere la gestione predefinita di 'application/xml' fornendo un' MessageBodyReader'/'MessageBodyWriter' personalizzato. Per altri tipi di media dipende. Il tipo di supporto 'application/json' è popolare ma JAX-RS non definisce quale dovrebbe essere il binding predefinito, le implementazioni hanno creato i propri valori di default. Ecco un esempio: http://blog.bdoughan.com/2013/07/oracle-weblogic-1212-now-with.html –