GET 方法类型

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 给出了所有内容(Hello World!),带有 path 参数的 GET 给出了该 String 的特定字母。

一些例子:

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

注意:如果省略方法类型注释(例如上面的 @GET),请求方法默认为 GET 请求处理程序。