Question: 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";

    }

```

Answer: 
You should add the `id` to **path**, so remove `?id=`:

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

```
The problem is you are confusing between "query parameter" and "path variable"

```
<a href="/delete-user?id=${user.id}">x</a> // Passing value as query param

@RequestMapping("/delete-user{id}") // Expecting Path variable

```

To Fix this, either change both to query param or path variable (here I changed to path variable):

```
<a href="/delete-user/${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";

    }

```