J'ai un service Web JAX-RS pour lequel je souhaite désactiver la politique d'origine identique via les nouveaux en-têtes HTTP CORS. (Je suis pleinement conscient des implications de sécurité.)Annotations personnalisées pour définir les en-têtes de réponse HTTP dans un service JAX-RS
J'aimerais avoir une annotation personnalisée qui me permet de définir les en-têtes de réponse HTTP. Par exemple,
@ResponseHeaders({"Access-Control-Allow-Origin: *",
"Access-Control-Allow-Methods: GET"})
// Or, alternatively:
@AllowOrigins({"*"})
public String resourceMethod() { ... }
Cette approche minimise le code standard, mais je ne suis pas sûr qu'il existe une limitation technique subtile; JAX-RS fournit de nombreuses annotations pour gérer la requête HTTP mais pas la réponse, @Produces
semblant être la seule exception.
Je préfère également rester loin de trop de configuration web.xml, si possible. Sans avoir explicitement besoin d'utiliser un ResponseBuilder (c'est correct si une annotation en utilise une), existe-t-il un moyen propre de définir des en-têtes de réponse HTTP personnalisés?
Pour clarifier, je cherche annotations qui s'intègrent aux différentes façons de définir les en-têtes de réponse HTTP afin de minimiser le code standard.
duplication possible de [Ajouter l'en-tête de réponse à WebService JAX-RS] (http://stackoverflow.com/questions/1493415/add-response-header-to-jax-rs-webservice) –
Je cherche quelque chose un peu plus rationalisé; Les annotations qui utilisent HttpServletResponse peuvent fonctionner. Je ne suis pas sûr des subtilités entre javax.ws.rs.Response et HttpServletResponse, cependant. – ide