La malformation de JSON: Unexpected '<' au Printemps
Je veux produire json
de JPA @Entity
, j'ai
@Entity
@JsonAutoDetect
public class Bar implements Serializable {
@Id
@GeneratedValue
private Integer id;
private String title;
//omitting other stuff
}
mon contrôleur est
@RestController
public class BarController {
@Autowired
private BarService barService;
@RequestMapping(value = "/", method = RequestMethod.GET, headers = "Accept=application/json", produces={"application/json"})
public List<Bar> list() {
return barService.findAllBars());
}
}
Je vais avoir cette erreur dans le navigateur
et en Facteur
ce qui est mal avec elle.
Êtes-vous à la sérialisation de votre liste de JSON avant de la retourner?
Je ne sais pas comment vous êtes configuration de Printemps, mais souvent, cela signifie que vous n'avez pas de JSON convertisseurs installés. Je Ressort le Démarrage, ce qui fait que pour moi.
Printemps de Démarrage n'est pas le choix alors??
Spring Boot est le choix. Une plaine de Démarrage de l'installation n'aurait pas ce problème.
Je ne sais pas comment vous êtes configuration de Printemps, mais souvent, cela signifie que vous n'avez pas de JSON convertisseurs installés. Je Ressort le Démarrage, ce qui fait que pour moi.
Printemps de Démarrage n'est pas le choix alors??
Spring Boot est le choix. Une plaine de Démarrage de l'installation n'aurait pas ce problème.
OriginalL'auteur Logical Error | 2015-10-04
Vous devez vous connecter pour publier un commentaire.
J'ai rattrapé une erreur fatale qui est en vous obtenez la liste des Bars barService.findAllBars(), vous pouvez avoir besoin de convertir cette liste en json ajout de la méthode que
Maintenant de faire le changement comme
espère que cela fonctionne, si des problèmes se sentir libre de requête dans les commentaires de la session.
Il a aidé, mais quand j'ai le join et avoir un champ comme
@ManyToMany(cascade = {CascadeType.MERGE}) @JoinTable(name = "foos_bars", joinColumns = @JoinColumn(name = "foos_id"), inverseJoinColumns = @JoinColumn(name = "bars_id")) private List<Foos> foos;
- je obtenir >org.codehaus.jackson.carte.JsonMappingException: échec paresseusement initialiser une collection de rôle: pkj.Bar.foos, n'a pas pu initialiser proxy - pas de Session (à travers la chaîne de référence: java.util.ArrayList[0]->pkj.de l'entité.Bar["totos"]), comment résoudre ce unun exemple s'il vous plaît dans ce cas??
Pouvez-vous cesser de harceler chrylis? Demander une fois suffit. Vous voudrez peut-être prendre un bon coup d'oeil à vos propres commentaires avant de repérage les autres comme impoli.
Tout a commencé ici: printemps.io/blog/2010/01/25/ajax-simplifications-au-printemps-3-0. Vous êtes essentiellement ce qui suggère de revenir à l'aide de pré-Printemps 2010 au lieu de s'attaquer au vrai problème.
OriginalL'auteur Arshad Ali
Le "mal formé JSON" message de la "Jolie" impression. Cliquez sur "Raw" pour voir la réponse réelle.
La réponse réelle est un
406 Not Acceptable
erreur (dit alors sur votre écran) avec une charge utile de HTML (d'où l'inattendu<
de "Pretty") qui dit que la demande a été rejetée par le serveur.Supprimer la
headers = "Accept=application/json"
de la@RequestMapping
. Leproduces={"application/json"}
est déjà révélateur de Printemps seulement appeler cette méthode siapplication/json
est une réponse acceptable, c'est probablement le cas, mais l'en-tête pourrait dire*.*
, ou quelque chose de plus complexe commetext/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
, qui permettraapplication/json
.Bien sûr, puisque c'est probablement un appel AJAX qui attend JSON, il devrait n'ai mentionné que
application/json
dans leaccept
valeur. Vérifiez le code de l'exécution de l'appel AJAX si ce n'est pas le cas.OriginalL'auteur Andreas
Je soupçonne qu'il ya quelque chose de mal avec votre en-tête accept dans votre requête get. Essayez de définir l'en-tête de
et voir ce que vous obtenez en retour.
OriginalL'auteur hermitmaster
Utilisation JsonFormatter https://jsonformatter.curiousconcept.com/ pour tester le JSON avant d'aller plus loin. Ses un très bon outil qui permet de valider JSON et vous indique les erreurs possibles avec le numéro de ligne.
OriginalL'auteur Farah Nawaz