Ho un ContainerResponseFilter
e ho cercato di impostare un cookie nel modo seguente:Jersey: Posso aggiungere un cookie in ContainerResponseFilter?
@Override
public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException {
String cookieName = "ExampleCookie";
String cookieValue = "SomeData";
logger.info("Setting cookie " + cookieName + " with value " + cookieValue + " into cookies " + JsonUtils.objectToJson(containerResponseContext.getCookies()));
containerResponseContext.getCookies().put(cookieName, new NewCookie(cookieName, cookieValue));
}
Ma questo danno il seguente errore:
Caused by: java.lang.UnsupportedOperationException: null
at java.util.AbstractMap.put(AbstractMap.java:203) ~[na:1.7.0_67]
Non è possibile impostare il cookie qui? Se lo è, come lo farei?
Grazie mille per aver uno sguardo. Penso che l'approccio delle intestazioni sia semplice. –
Per quanto riguarda la stranezza, REST è progettato per essere apolidi. Un cookie implica uno stato. – BalusC
@peeskillet se inviamo un nuovo cookie dal browser ... i server web li inviano di nuovo al browser per impostazione predefinita? Sto testando con il postino e l'ho osservato. – pinkpanther