¿Hay alguna manera de usar un valor Enum en una Asignación de solicitud?¿Es posible usar un valor para @RequestMapping que es una cadena pero no un literal de cadena?
@RequestMapping(value = "/example",
method = RequestMethod.POST)
public final void foo(final HttpServletResponse response,
Quiero usar un valor URL que ya está almacenado en una enumeración.
Sin embargo, obtengo errores de tiempo de compilación cuando trato de poner algo excepto un literal String en el RequestMapping
.
¿Cómo sabe la diferencia entre un String literal y un String que no es un String literal (no estoy seguro de cómo se llama)?
Esto es lo que he intentado pero fracasó en tiempo de compilación:
@RequestMapping(value = FooEnum.Example.getStringValue(),
method = RequestMethod.POST)
public final void foo(final HttpServletResponse response,
También he intentado usar String.format
pero no le gusta que o bien:
@RequestMapping(value = String.format("%s", FooEnum.Example.getStringValue()),
method = RequestMethod.POST)
public final void foo(final HttpServletResponse response,
No valores literales * solo *, sino valores constantes (en tiempo de compilación), incluso expresiones como '" PO "+" ST "' siempre que se evalúen como constantes. Esta es la razón por la cual 'RequestMethod.POST' es un valor de atributo válido en la anotación, pero las llamadas a método no lo son. –