2010-05-14 19 views
1

Les navigateurs d'aujourd'hui (ou HTML < 5) ne prennent en charge que HTTP GET et POST, mais pour communiquer RESTful, il faut aussi PUT et DELETE. Si la solution de contournement ne doit pas être d'utiliser Ajax, quelque chose comme un champ de formulaire masqué est requis pour remplacer la méthode HTTP réelle.Ecraser la méthode HTTP avec JAX-RS

Rails utilise l'astuce suivante:

<input name="_method" type="hidden" value="put" /> 

Est-il possible de faire quelque chose de similaire avec JAX-RS?

Répondre

0

Pour citer Roy Fielding:

Dans tous les cas, il y a beaucoup de services RESTful qui ne font que GET et POST. La clé est de savoir comment ces méthodes sont utilisées, et non les méthodes utilisées. Pour donner un exemple spécifique, ce rend un wiki plus ou moins RESTful est presque toujours déterminé par la façon dont (ab) utilise GET et sessions - si il utilise PUT ou POST pour éditer les pages est en tête de sucre en comparaison.

L'accent est à moi, pris de ce poste http://tech.groups.yahoo.com/group/rest-discuss/message/10746

2

pas strictement une solution JAX-RS, mais ressort 3.0 est livré avec un HiddenHttpMethodFilter qui implémente exactement le truc que les rails ne, par défaut le même paramètre _method.

Notez que vous n'avez pas besoin d'utiliser tout le ressort pour utiliser ce filtre, vous pouvez simplement le configurer dans votre web.xml et ignorer le reste du printemps.

1

Jersey a également quelque chose de similaire, en filtrant un champ d'en-tête. La documentation peut être trouvée here