Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

302
Vistas
Obtenga el valor de @RequestMapping de un método diferente en el mismo controlador

Usando Spring Boot, tengo un par de métodos en mi RegisterController que maneja el registro de nuevos usuarios.

El método createNewUser es responsable de guardar el nuevo usuario en la base de datos y enviar un correo electrónico de confirmación que contiene un enlace que tiene un token único.

El método confirmUser maneja el procesamiento de la solicitud GET para el enlace de confirmación.

¿Hay alguna forma de que el método createNewUser obtenga el valor @RequestMapping asignado a confirmUser ? Me gustaría usar este valor para generar el enlace de confirmación en lugar de codificarlo.

 // Process form input data @RequestMapping(value = "/register", method = RequestMethod.POST) public ModelAndView createNewUser(@Valid User user, BindingResult bindingResult) { } // Process confirmation link // Link in confirmation e-mail will be /registerConfirmation?token=UUID @RequestMapping(value="/registerConfirmation", method = RequestMethod.GET) public ModelAndView confirmUser( @RequestParam("token") String token) { }
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No conozco una forma de obtenerlo del valor de @RequestMapping , pero tiene un par de opciones diferentes.

Opción 1: Cree una constante para la asignación y use la que le permita hacer referencia a ella en ambos métodos.

 private final static String REGISTER_CONF_VAL = "/registerConfirmation"; @RequestMapping(value = "/register", method = RequestMethod.POST) public ModelAndView createNewUser(@Valid User user, BindingResult bindingResult) { } // Process confirmation link // Link in confirmation e-mail will be /registerConfirmation?token=UUID @RequestMapping(value=REGISTER_CONF_VAL, method = RequestMethod.GET) public ModelAndView confirmUser( @RequestParam("token") String token) { }

Opción 2: Menos ideal, pero si agregas registerConfirmation a tu archivo de configuración, puedes acceder a él como:

 @RequestMapping(value="${register.conf.val}", method = RequestMethod.GET) public ModelAndView confirmUser( @RequestParam("token") String token) { }

La razón por la que esto no es ideal es porque probablemente no desee que sea diferente de un entorno a otro. Dicho esto, funcionaría.

over 4 years ago · Santiago Trujillo Denunciar

0

Si necesita generar el enlace en función de la solicitud del usuario, puede utilizar la Variable de ruta en el controlador. U puede obtener la variable de ruta y usar algún mecanismo para validar la ruta también.

Reemplace registerConfirmation con {registerConfirmation} y en el método, use la anotación @PathVariable para obtener la ruta. Utilice la variable para comprobar si la ruta es válida.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda