Mit einem Spring Boot REST-Endpunkt scheint es, wenn JAXB verfügbar ist, reicht die Übergabe des 'Accept'-Headers von' application/xml 'aus, um die Ausgabe von einem sehr einfachen Endpunkt als XML zu empfangen, solange die @ Xml. .. Anmerkungen sind auf der Entität vorhanden. Ich verwende JavaConfig mit Anmerkungen und diese Nachricht AbhängigkeitenWas ist der einfachste Weg, eine Spring Boot JMS-Anwendung so zu konfigurieren, dass sie ein JAXB-Marshalling als Standard verwendet?
@RequestMapping(value = "/thing/{id}")
ResponseEntity<Thing> getThing(
@PathVariable(value = "id") String id) {
Thing thing = thingService.get(id)
return new ResponseEntity<Thing>(thing, HttpStatus.OK);
}
Wenn jedoch jmsTemplate.convertAndSend(destination, thing)
Aufruf, ich habe ausdrücklich auf die JMS-Vorlage in einem Nachrichtenwandler anschließen, die den folgenden Code innerhalb
JAXBContext context = JAXBContext.newInstance(object.getClass());
Marshaller marshaller = context.createMarshaller();
StringWriter writer = new StringWriter();
marshaller.marshal(object, writer);
TextMessage textMessage = session.createTextMessage(writer.toString());
return textMessage;
hat zur Zeit:
compile("org.springframework:spring-jms")
compile('org.springframework.integration:spring-integration-jms')
compile("org.apache.activemq:activemq-broker")
Auch diese von Spring Boot Starter aber nicht sicher, ob sie hier wichtig sind.
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-hateoas')
Ich verwende auch Groovy und Spock.
Es scheint, als gäbe es sicherlich eine Möglichkeit, dieses Marshalling standardmäßig ohne Code durchzuführen. Vorschläge?