2013-09-25 23 views
12

Na przykład HttpServletResponse ma kody stanu HTTP jako stałe jakDowolna metoda uzyskiwania stałej dla HTTP GET, POST, PUT, DELETE?

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; 

Czy istnieją takie stałe zdefiniowane dla metod HTTP jak GET, POST ... wszędzie w API Java EE, tak aby mogły być odniesienie łatwo, zamiast tworzenia jednego na własną rękę?

+0

Klasa 'HttpServlet' deklaruje je, ale są one" prywatne ". Napisz własne, być może jako wyliczenia. –

+3

Proszę, https://java.net/projects/javaee-spec/pages/JEE (oprócz niepoprawnego używania znacznika w tytule zamiast trzymania go w tagach) – BalusC

+0

@BalusC ten post mówi, że nie jest możliwe, co była prawdziwa do wersji Java 5. Wziąłem odpowiedź Matta i jego link do pełnej listy stałych. Stwierdziłem, że te stałe faktycznie istnieją od czasu Java 6. –

Odpowiedz

13

Jeśli używasz Spring, masz ten ENUM org.springframework.web.bind.annotation.RequestMethod

public enum RequestMethod { 
    GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE; 
} 

EDIT: Oto complete list of constants values in Java 6 Widać, że niektóre z nich są dostępne w klasie HttpMethod ale zawiera mniej wartości niż 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(); 
} 
+1

Ta adnotacja znajduje się w stosie API Java EE, ale nie jest dostępna w 'servlet-api', co do którego zakładam, jest to, o co pyta OP. –

Powiązane problemy