如何获取HTTP GET、POST、PUT、DELETE的常量?

35
例如,HttpServletResponse将HTTP状态码作为常量,如下所示。
public static final int SC_OK = 200;
public static final int SC_CREATED = 201;
public static final int SC_BAD_REQUEST = 400;
public static final int SC_UNAUTHORIZED = 401;
public static final int SC_NOT_FOUND = 404;

在Java EE API中,是否定义了任何类似于GETPOST之类的HTTP方法常量,以便可以轻松地引用它们,而不是自己创建一个?


1
HttpServlet类声明了它们,但它们是private的。你可以编写自己的类,可能使用枚举代替。 - Sotirios Delimanolis
3
请访问https://java.net/projects/javaee-spec/pages/JEE(除了在标题中错误地使用标签而不是将其保留在标签中) - BalusC
@BalusC 这篇帖子说在Java 5之前是不可能的,这是正确的。我采用了Matt的答案和他提供的完整常量列表链接。我发现这些常量实际上存在于Java 6中。 - Arnaud Denoyelle
1个回答

43
如果您正在使用Spring,则会有这个枚举org.springframework.web.bind.annotation.RequestMethod
public enum RequestMethod {
  GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
}

编辑:这里是Java 6中常量值的完整列表。您可以看到其中一些可在HttpMethod类中使用,但它包含的值比RequestMethod要少。

public @interface HttpMethod {
  java.lang.String GET = "GET";
  java.lang.String POST = "POST";
  java.lang.String PUT = "PUT";
  java.lang.String DELETE = "DELETE";
  java.lang.String HEAD = "HEAD";
  java.lang.String OPTIONS = "OPTIONS";

  java.lang.String value();
}

2
那个注解在Java EE API堆栈中,但在servlet-api中不可用,我猜这就是OP所问的。 - Sotirios Delimanolis
我喜欢完整的常量列表。 - ezhil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接