Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
Evite NumberFormatException en el controlador Spring MVC

En mi controlador Spring MVC tengo un método como este:

 public String myMethod(@RequestParam(defaultValue="0") int param) { ... }

Cuando paso una cadena como valor de mi parámetro, obviamente NumberFormatException param

No se pudo convertir el valor del tipo 'java.lang.String' al tipo requerido 'int'; la excepción anidada es java.lang.NumberFormatException: para la cadena de entrada: "prueba"

Eso está claro...

Así que estoy tratando de encontrar una manera de redirigir al usuario a una página predeterminada cuando ocurre este error. ¿Hay una forma común de lograr esto?

Por el momento, estoy pensando en usar un String en lugar de un int para mapear mi param , verifique si esto es analizable para int y luego cambie a la lógica apropiada, pero esto parece una solución alternativa, no una solución...

¿Existe una manera más elegante de manejar este problema y mantener el enlace de tipo correcto para mi param ?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Eche un vistazo a la anotación @Valid. Espero que esto ayude. Esta anotación ayuda a agregar más validaciones para el parámetro de solicitud.

https://spring.io/guides/gs/validating-form-input/

about 4 years ago · Santiago Trujillo Report

0

Finalmente resolví agregar un CustomNumberEditor como este:

 @InitBinder public void registerNumbersBinder(WebDataBinder binder) { binder.registerCustomEditor(Integer.class, new CustomNumberEditor(Integer.class, true){ @Override public void setAsText(String text) throws IllegalArgumentException { try{ super.setAsText(text); }catch (IllegalArgumentException ex){ setValue(0); } } }); }
about 4 years ago · Santiago Trujillo Report

0

En este escenario, debe manejar "MethodArgumentTypeMismatchException", puede hacerlo usando @ControllerAdvice

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!