Comment POSTER un formulaire à l'aide de Jersey 2.0

Je suis en train d'obtenir des données à partir d'un Formulaire avec jersey et je pensais qu'il allait être une tâche facile à accomplir, mais je reçois une erreur lorsque j'essaie de POSTER quelque chose.

Caused by: java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.ensureValidRequest(FormParamValueFactoryProvider.java:126)
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.getForm(FormParamValueFactoryProvider.java:111)
at org.glassfish.jersey.server.internal.inject.FormParamValueFactoryProvider$FormParamValueFactory.get(FormParamValueFactoryProvider.java:94)
at org.glassfish.jersey.server.internal.inject.AbstractHttpContextValueFactory.provide(AbstractHttpContextValueFactory.java:65)
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:80)
... 36 more

Je pense que c'est la partie pertinente de la trace de la pile.
Maintenant, pour le code, je suis en utilisant:

@POST
@Path("/delete")
@Produces("application/json")
public String delete(@FormParam("id")String id){

Et je suis en train de POSTER à l'aide d'un test page html comme ceci:

<form action="<path to the server>/delete" method="post">
primary_id: <input type="text" name="primary_id" /><br />
<input type="submit" value="Submit" />
</form>

J'ai essayé de le faire fonctionner, mais pas de chance. J'ai essayé d'ajouter le @Consomme() annotation avec multipart-form-data mais ne peuvent pas vraiment faire le travail. J'espère que quelqu'un peut me donner un coup de main.

essayez Consomme(application/x-www-form-urlencoded)
j'ai essayé, mais le même résultat.

OriginalL'auteur XFCC | 2012-09-10

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *