@ResponseBody , ResponseEntity Ressort de rappel de l'Objet JSON
Je suis l'aide de Printemps version 4 ( printemps de données), je veux retourner un Objet JSON , je wonderd que le code suivant fonctionné, même sans les annotations de l'utilisateur de la classe avec xmlRootElement:
@RequestMapping(value = "/resources/users", method = RequestMethod.GET)
public ResponseEntity<User> getUserByLogonId(OAuth2Authentication auth) {
String userLogonId = ((org.springframework.security.core.userdetails.User) auth.getUserAuthentication()
.getPrincipal()).getUsername();
UsersServices usersServices = new UsersServicesImpl(usersOperations);
User user = usersServices.findByLogonId(userLogonId);
HttpStatus userStatus = HttpStatus.NOT_FOUND;
if (user != null) {
userStatus = HttpStatus.FOUND;
}
return new ResponseEntity<User>(user, userStatus);
}
tout organisme peut expliquer ? est ResponseBody/ResponseEntity faire le travail lui-même ? quand j'ai besoin d'annoter la classe de l'objet à être retournés sous forme de JSON.
Êtes-vous à l'aide de Spring Boot?
Im en utilisant le printemps de données
Êtes-vous à l'aide de @RestController ?
Oui c'est correct , restcontroller inclure responsebody par défaut ?
Im en utilisant le printemps de données
Êtes-vous à l'aide de @RestController ?
Oui c'est correct , restcontroller inclure responsebody par défaut ?
OriginalL'auteur Mohammad Karmi | 2017-08-03
Vous devez vous connecter pour publier un commentaire.
@RestController
lui-même ajoute@ResponseBody
annotation. Vous pouvez le voir dans le Github ProblèmeVous pouvez également vérifier le officiel printemps tutoriels. Ici, vous pouvez consulter ci-dessous les lignes et les exemples:
Vous pouvez également suivre les lignes ci-dessous et des exemples de Officiel doc
Et,
Yup, Vous avez la réponse sur les liens donnés. Si vous annoter la fonction avec @ResponseBody ou de retour
ResponseEntity<>
avec@RestController
l'objet retourné sera convertir en JSON automatiquement.J'ai édité ma réponse. Vous pouvez la consulter
OriginalL'auteur sunkuet02
xmlRootElement
utilise pour la représentation d'un objet en tant qu'élément XML dans un document XML. XML n'a rien à voir avec JSON.Lorsque vous annotez votre classe par
@RestController
il combine@Controller
pour la classe et@ResponseBody
pour chaque méthode. Et puisHttpMessageConverter
convertit de et vers le flux de demande et réponse.@ResponseEntity
est l'aide pour la formation de la réponse http avec des paramètres personnalisés (en-têtes, le code http, etc...). Par exemple:OriginalL'auteur Nikolay
Printemps de démarrage utilise le jackson json bibliothèques de rassemblement et de unmarshalling les objets java vers/à partir d'objets json
pas besoin d'aucune configuration explicite.
OriginalL'auteur Srinivas Seema