Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Multiples metodos POST en API REST

Estas en el tema de Multiples metodos POST en API REST en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 12/12/2019, 13:03
Avatar de 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

Etiquetas: api, metodos, multiples, post, rest
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:54.