2010-02-12 7 views
3

J'ai un service web mis en place en utilisant CXF, JAX-RS et Spring. J'ai la méthode suivante:Question sur demande et session avec CXF, service web JAX-RS

@GET 
@Path("/getPayload") 
@Produces("application/XML") 
public Response makePayload(){ 
    Payload payload = new Payload(); 
    payload.setUsersOnline(new Long(200)); 

    return Response.ok().entity(payload).build(); 
} 

Comment puis-je avoir accès à l'objet HttpRequest dans mon makePayload()?

Un appel à cette méthode va-t-il générer une session, et si oui, puis-je obtenir un identificateur et cette session sera-t-elle permanente pour toutes les demandes ultérieures du même client?

+1

John, note que vous ne devriez pas mettre une action dans vos URL. Pourquoi cela ne nuit à rien (puisque les URI doivent être opaques) cela donne l'impression que vous pensez «dans les mauvais termes». Au lieu de STH comme GET/stockquotes/APPL/getPayload il devrait être GET/stockquotes/APPL parce que GET déjà signifie «obtenir la charge utile. Jan –

+0

Merci pour cela. – JohnRock

Répondre

3

@Context peut être utilisé pour obtenir des types Java contextuels liés à la demande ou de la réponse:

@GET 
@Path("/getPayload") 
@Produces("application/XML") 
public Response makePayload(@Context Request request) { 
    //... 
} 
+1

Merci. Je vais essayer ça. Tu gères. – JohnRock

Questions connexes