2013-09-25 5 views
12

Zum Beispiel HttpServletResponse hat den HTTP-Statuscodes als Konstanten wieJede Methode, um für HTTP GET, POST, PUT, DELETE konstant zu werden?

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; 

Gibt es eine solche Konstanten für HTTP-Methoden definiert wie GET, POST, ..., überall in der API Java EE, so dass es könnte sein, leicht referenziert, anstatt selbst einen zu erstellen?

+0

'HttpServlet' Klasse deklariert sie, aber sie sind' privat'. Schreibe deine eigenen, möglicherweise als Enums. –

+3

Bitte, https://java.net/projects/javaee-spec/pages/JEE (abgesehen von der falschen Verwendung eines Tags im Titel, anstatt es in den Tags zu halten) – BalusC

+0

@BalusC dieser Beitrag sagt, dass nicht möglich ist, was war bis Java 5 wahr. Ich nahm Matts Antwort und seine Verbindung zur vollständigen Liste der Konstanten. Ich habe festgestellt, dass diese Konstanten tatsächlich seit Java 6 existieren. –

Antwort

13

Wenn Sie Frühling verwenden, müssen Sie dieses Enum org.springframework.web.bind.annotation.RequestMethod

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

EDIT: Hier das ist complete list of constants values in Java 6 können Sie sehen, dass einige der in der Klasse verfügbar sind HttpMethod aber es enthält weniger Werte als request .

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

Diese Annotation befindet sich im Java-EE-API-Stack, aber nicht in einer Servlet-API, von der ich vermute, dass sie vom OP angefordert wird. –