2013-09-25 2 views
12

Par exemple, HttpServletResponse a les codes d'état HTTP comme des constantes commeToute méthode pour devenir constante pour 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; 

Y at-il de telles constantes définies pour les méthodes HTTP comme GET, POST, ..., partout dans l'API Java EE afin qu'il puisse être référencé facilement, plutôt que de créer un seul?

+0

La classe HttpServlet' les déclare mais elles sont privées. Écrivez le vôtre, peut-être comme enums à la place. –

+3

S'il vous plaît, https://java.net/projects/javaee-spec/pages/JEE (en dehors de l'utilisation incorrecte d'une étiquette dans le titre au lieu de le garder dans les balises) – BalusC

+0

@BalusC ce poste dit que ce n'est pas possible, ce qui était vrai jusqu'à Java 5. J'ai pris la réponse de Matt et son lien à la liste complète des constantes. J'ai trouvé que ces constantes existent réellement depuis Java 6. –

Répondre

13

Si vous utilisez Spring, vous avez cette ENUM org.springframework.web.bind.annotation.RequestMethod

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

EDIT: Voici le complete list of constants values in Java 6 Vous pouvez voir que certains d'entre eux sont disponibles dans la classe HttpMethod mais il contient moins de valeurs que 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

Cette annotation est dans la pile de l'API Java EE, mais pas disponible dans une 'servlet-api', ce que je suppose est ce que demande l'OP. –

Questions connexes