java-ee Tipos de métodos GET


Ejemplo

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Path("/hello")
public class HelloWorldResource {
    public static final String MESSAGE = "Hello World!";

    @GET
    @Produces("text/plain")
    public String getHello() {
        return MESSAGE;
    }

    @GET
    @Path("/{letter}")
    @Produces("text/plain")
    public String getHelloLetter(@PathParam("letter") int letter){
        if (letter >= 0 && letter < MESSAGE.length()) {
            return MESSAGE.substring(letter, letter + 1);
        } else {
            return "";
        }
    }
}

GET sin un parámetro proporciona todo el contenido ("Hello World!") Y GET con el parámetro de ruta proporciona la letra específica de esa cadena.

Algunos ejemplos:

$ curl http://localhost/hello
Hello World!
$ curl http://localhost/hello/0
H
$ curl http://localhost/hello/4
o

Nota: si @GET la anotación de tipo de método (por ejemplo, la @GET anterior), un método de solicitud de forma predeterminada es un controlador de solicitud GET.