Printemps de Démarrage RESTE avec le Support de XML
J'ai fait un webservice REST avec Spring Boot 1.2.5 et il fonctionne très bien pour JSON, mais je ne peux pas faire ce travail pour revenir XML.
C'est mon contrôleur:
@RestController
..
@RequestMapping(method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
@ResponseStatus(HttpStatus.OK)
public List<Activity> getAllActivities() {
return activityRepository.findAllActivities();
}
Quand je l'appelle avec Accept: application/json
tout fonctionne, mais quand j'ai essayer avec application/xml
- je obtenir le code HTML à 406 Erreur et message:
The resource identified by this request is only capable of generating responses
with characteristics not acceptable according to the request "accept" headers.
Mes objets de modèle:
@XmlRootElement
public class Activity {
private Long id;
private String description;
private int duration;
private User user;
//getters & setters...
}
@XmlRootElement
public class User {
private String name;
private String id;
//getters&setters...
}
Mon pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Faire j'ai besoin de quelques autres pots dans mon pom.xml pour faire ce travail? J'ai essayé d'ajouter jaxb-ou api jax-impl mais il n'a pas aidé.
Êtes-vous sûr d'un réglage à
Pouvez-vous partager votre fichier POM!!!
je colle mon pom.xml
application/xml
et pas autre chose? Activer la journalisation du débogage et de voir ce qui se passe à l'intérieur.Pouvez-vous partager votre fichier POM!!!
je colle mon pom.xml
OriginalL'auteur jgr | 2015-09-18
Vous devez vous connecter pour publier un commentaire.
Pour faire ce travail au Printemps de Démarrage sans l'aide de Jersey, nous devons ajouter cette dépendance:
La sortie sera un peu moche, mais ça fonctionne:
Est sympa tutoriel:
http://www.javacodegeeks.com/2015/04/jax-rs-2-x-vs-spring-mvc-returning-an-xml-representation-of-a-list-of-objects.html
OriginalL'auteur jgr
Nous pouvons le faire, comme ci-dessous :
Code
OriginalL'auteur Subhasish Sahu