I have two methods:

```
    [HttpGet("{id}")]
    public IActionResult GetTask([FromRoute] int id)
    {
    }

    [HttpGet("{userId}")]
    public IActionResult GetUserTask([FromRoute] string userId)
    {
    }

```

As you can see, i want to pass to my API routes like:

`https://localhost:44365/Task/1` 

and 

`https://localhost:44365/Task/string`

But my `WebApi` project cant handle it. When i pass route like this:

```
https://localhost:44365/Task/7dd2514618c4-4575b3b6f2e9731edd61

```

i get an `400 http` and this response:

```
{
"id": [
    "The value '7dd2514618c4-4575b3b6f2e9731edd61' is not valid."
]
}

```

While debugging, im not hitting any methods (when i pass string instead of int)

My question is, how to verload methods with one parameters with `string` or `int`? These methods do diffrent things

**EDIT**

When i pass something like: 

```
https://localhost:44365/Task/dddd

```

I still get response with invalid `id`