J'essaie d'utiliser les API REST intégrées à Broadleaf eCommerce. Les instructions sur leur site disent d'ajouter une référence à /WEB-INF/applicationContext-rest-api.xml
dans web.xml
, mais /WEB-INF/applicationContext-rest-api.xml
n'existe pas. C'était renamed on January 14, 2015 par @phillipuniverse. Le web.xml
actuel du DemoSite has a reference au nouveau nom de fichier (applicationContext-rest-api-security.xml
). Donc, il semble que rien ne doit être fait pour activer REST - ils sont activés par défaut.Comment utiliser l'API REST Broadleaf?
Cependant, lorsque je tente d'y accéder, je reçois:
org.springframework.web.HttpMediaTypeNotSupportedException: Type de contenu 'null' non pris en charge
Je suis vraiment envoie une Content- Type d'en-tête. Cela semble être une exception incorrecte basée sur un known bug in Jackson. Cela a quelque chose à voir avec les types n'étant pas sérialisables.
Je pense que cela signifie que les classes wrapper doivent être corrigées. Ils sont ce qui est sérialisé. (à droite?) J'essaie de comprendre si c'est parce que je fais quelque chose de mal, ou si c'est un bug dans BroadleafCommerce.
En outre, je suis un peu nouveau avec Maven, donc je ne suis pas sûr de savoir comment résoudre ce problème. Le DemoSite tire BroadLeafCommerce d'un repo. Comment puis-je lui dire de regarder mon clone git local de BroadleafCommerce? (Je sais que cela est une autre question, mais il est lié, car il est la seule façon que je peux penser à régler le problème.)
Je suis en train de l'en-tête Content-Type. Le message d'erreur est trompeur. Voir le lien que j'ai inclus ci-dessus à propos d'un bug dans Jackson. –
Avez-vous essayé de supprimer tous les attributs de consommation de @RequestMapping? Je suis à peu près sûr que ça n'a rien à voir avec un bug d'analyse de Jackson. Quel point final essayez-vous de frapper spécifiquement? Est-ce que vous pensez réellement que la désérialisation se produira? – phillipuniverse
J'ai supprimé le 'consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}' et cela a fonctionné. –