Pergunta

Criei um webservice REST muito simples em Java usando JAX-RS.E faça com que um cliente faça chamadas Ajax para esse serviço da web para fazer login e obter as informações de login.

Código JAX-RS

@Path("/netsuite")
public class myRESTWebService{
   @GET
   @Path("/login/{userName}")
   public String login(@PathParam("userName") String userName){
      //here I have to save that userName in some session so that I can use it in below function
   }


   @GET
   @Path("/getUserName")
   public String getUserName(){
      //here I have to return the above username
   }  
}

Eu sei que os webservices REST não têm estado, como posso torná-los com estado.Tentei pesquisar no Google o dia inteiro, não me ajudou muito.

Como posso torná-lo com estado?

Foi útil?

Solução

Você pode acessar o Sessão HTTP e armazene o nome de usuário assim:

@GET
@Path("/login/{userName}")
public String login(@PathParam("userName") String userName, @Context HttpServletRequest servletRequest) {
    HttpSession session = request.getSession();
    session.setAttribute("userName", userName);
}

Mas eu recomendo fortemente repensar por que você precisa de estado em um aplicativo sem estado e dar uma olhada em Conceitos de segurança Java EE.

Não relacionado:As aulas em Java sempre começam com letra maiúscula.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top