Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2019, 13:03
Avatar de Hyemin
Hyemin
 
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Multiples metodos POST en API REST

Estimados,

Estoy estudiando un poco los servicios REST en JAVA, hice una clase por ejemplo de login

Código:
@Path("login")
public class LoginResource {

    @Context
    private UriInfo context;

    /**
     * Creates a new instance of LoginResource
     */
    public LoginResource() {
    }

    /**
     * Retrieves representation of an instance of servicios.LoginResource
     * @return an instance of java.lang.String
     */
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String getJson() {
        //TODO return proper representation object
        throw new UnsupportedOperationException();
    }

    /**
     * PUT method for updating or creating an instance of LoginResource
     * @param usuario
     * @param pass
     * @param content representation for the resource
     * @return 
     */
    
     @POST

    public String  login(@HeaderParam("usuario") String usuario,
                   @HeaderParam("pass") String pass) {
    
    String respuesta = "";
    
    respuesta ="{ nombre: "+usuario+", pass: "+pass+"  }";
    
    return respuesta;
}
Esta clase funciona bien,l hago la pericion y me devuelve las cosas bien,

Ahora quiero tener mas rutas diferentes para el post que simplemente lcoalhost/login

Para probar otro metodo use
Código:
  @POST
    @Consumes("application/x-www-form-urlencoded")
@Path("login/alternativo")
    public String  login(@QueryParam("usuario") String usuario,
                   @QueryParam("pass") String pass) {
    // Store the message
    
    String respuesta = "";
    
    respuesta ="{ nombre: "+usuario+", pass: "+pass+"  }";
    
    return respuesta;
}

Pero en este caso si voy a consuir el servicio en loclahost/login/alternaivo?usuarioX&pass=123 me sale un 404

Si reemplazo el metodo post anterior por este (sin poner el path) funciona bien yendfo a localhost/login

Pero no me funciona tener 2 posts con diferente subpath, estoy haciendo algo mal?

Para el login no me importa mucho pero luego voy a querer hacer en una misma clase multiples metodos put con rutas diferentes