java annotations jax-rs case-insensitive

java - JAX-RS: rutas insensibles a mayúsculas y minúsculas



annotations case-insensitive (2)

He anclado servicios / métodos REST a la plantilla URI mediante la anotación @Path . Parece como de costumbre:

@GET @Path("/message") @Produces("application/json") public Response getMessage() { ... }

Pero mi servicio REST tiene que ser insensible a mayúsculas y minúsculas. Ahora estoy usando expresiones regulares en @Path en todo mi código así:

@GET @Path("/{message:[mM][eE][sS][aA][gG][eE]}") @Produces("application/json") public Response getMessage() { ... }

Esto se ve raro. ¿Hay algo que pase por alto en la especificación (espero que no, vea esto ) o tiene alguna de las características especiales de las implementaciones JAX-RS para eso? Ahora estoy usando JBoss RESTeasy .

Gracias.


No sé demasiado, pero si es compatible con toda la sintaxis de expresiones regulares de java, podría utilizar (?i:message) lugar de su patrón.


Si realmente necesita hacer que la API no distinga entre mayúsculas y minúsculas y utiliza Apache en el front-end de su sitio, considere hacerlo fuera del código: defina su API con las URL en minúsculas y use Mod-Rewrite para cambiar las URL. a minúsculas cuando llegan al servidor web sin importar lo que el cliente realmente envió. Esta publicación de blog describe cómo hacer esto.