Search code examples
javaspringspring-bootrequest-mappingpath-variables

MethodArgumentTypeMismatchException in spring boot


I try to delete a user by getting id in url with an error:

Failed to convert value of type 'java.lang.String' to required type 'int'; 
nested exception is java.lang.NumberFormatException: For input string:

I change int id to String id, but then deleteMyUser() will not work because it accepts an integer.

Code:

<a href="/delete-user?id=${user.id}">x</a>


@RequestMapping("/delete-user{id}")
    public  String deleteUser(@PathVariable("id") int id,HttpServletRequest request)
    {   
        request.setAttribute("mode","MODE_HOME");
        userService.deleteMyUser(id);

        return "welcome";

    }

Solution

  • You should add the id to path, so remove ?id=:

    <a href="/delete-user${user.id}">x</a>