POSTE à Jersey RESTE service d'erreur 415 Type de support non pris en charge
Je suis à l'aide d'un JAX-RS application web à Jersey et Tomcat. Obtenez les demandes sont très bien, cependant quand j'essaie de poster JSON-je obtenir un statut HTTP 415 - Unsupported Media Type.
Voici mon simple HelloWorld.java:
package service;
import javax.ws.rs.*;
@Path("hello")
public class HelloWorld {
@GET
@Produces("text/plain")
public String get() {
return "hello world";
}
@POST
@Consumes("application/json")
public String post(JS input) {
return input.hello;
}
public static class JS {
public String hello;
}
}
Voici la demande que j'ai essayer en Facteur (avec 'application/json' en-tête):
Voici la présentation de projet avec les bibliothèques:
Je suis en utilisant:
- Java 7 x64
- Jersey 2.17
- Tomcat 7.0.62 x64
Merci!
OriginalL'auteur Rob Crocombe | 2015-05-24
Vous devez vous connecter pour publier un commentaire.
Le Maillot de distribution ne vient pas avec JSON/POJO soutien sorti de la boîte. Vous devez ajouter les dépendances/bocaux.
Ajouter tous ces
Avec Maven, ci-dessous va tirer tous les ci-dessus dans
Pour les futurs lecteurs de pas à l'aide de Jersey 2.17 (et à l'aide de pots directement à la place de Maven), vous pouvez aller ici pour trouver le Maillot de la version que vous utilisez, et de voir ce transitive dépendance versions dont vous avez besoin. La version actuelle de ce Maillot de dépendance utilise Jackson 2.3.2. C'est la principale chose que vous devez regarder dehors pour.
J'ai ajouté les pots lib. Maintenant, je reçois cette erreur
java.lang.NoClassDefFoundError: org/glassfish/jersey/message/filtering/EntityFilteringFeature
lors du démarrage de Tomcat. De l'aide?Il suffit d'ajouter la dépendance dans le fichier pom comme suggéré ci-dessus par peeskillet.
m'a sauvé la vie!!!!...... 🙂
OriginalL'auteur Paul Samsotha
Passé par un grand nombre de réponses à la fois sur cette page et les autres, mais en vain.
En fait, cela a fonctionné pour moi:
MÉTHODE 1:
Au lieu de passer
JSONObject
en tant que paramètre à la méthode, passer uneString
plutôt. Prendre laString
et de créer unJSONObject
avec elleet puis vous pouvez l'utiliser dans votre code. Comme si,
MÉTHODE 2:
L'ajout de cette dépendance de septembre 2017:
De référence à partir d'ici
OriginalL'auteur Young Emil
Vérifier votre appel RESTE contentType. Il devrait être
contentType: "application/json", si vous êtes de passage des données json à la classe POJO.
OriginalL'auteur Suresh Patil
Je pense que vous publiez demande s'il fonctionne correctement, mais votre navigateur/Facteur ne peut pas analyser la réponse renvoyé par la fonction. Il est de retour en texte brut et le Facteur est en attente json. Ajouter de Produire des annotations à votre service web et de le définir en json. Je vous conseille aussi de vérifier avec Fiddler2 à voir exact d'informations sur le fil.
OriginalL'auteur Deniz