Accede a @PathVariables desde el @RequestMapping del padre.
Estoy tratando de acceder a los @PathVariables definidos en el @RequestMapping padre de “MyClass”.
Escenario simplificado:
@RestController
@RequestMapping(value = "some/path/{with}/{multiple}/{variables}")
public class ParentClass {...}
Esta clase es una especie de clase base de un producto y no debe ser modificada. Por lo tanto, estoy extendiendo ‘ParentClass’. En ‘MyClass’ quiero hacer algo como esto:
@GetMapping("/{another}")
public Object get(@PathVariable("another") String another) {...}
Creo que esto está permitido (aún no lo he probado), pero no veo cómo obtener todos los PathVariables que ya están definidos con ‘ParentClass’.
Cualquier idea/ referencia al RTFM sobre eso es muy apreciada.
davy.ai
Para acceder a los @PathVariables definidos en la clase principal @RequestMapping, puedes usar la palabra clave super para referenciar la anotación @RequestMapping de la clase principal y acceder a su atributo de valor. Luego puedes concatenar el valor de la clase principal con el valor de la clase hija para crear el camino completo de la URL. Aquí tienes un ejemplo en código:
En el ejemplo anterior, utilizamos el método getClass() con la palabra clave super para obtener la anotación @RequestMapping de la clase ClasePadre. Luego accedemos a su atributo de valor y lo concatenamos con /{otra} para crear el camino completo de la URL. La variable caminoCompleto luego puede ser utilizada para cualquier lógica en el controlador.