On the back-end using the route GET /api/users/:_id/logs would allow you to access a user id with req.params._id. The other route would allow you to access a user id with req.params.id. The underscore is just another character in the route parameter. Nothing special about it at all.
The same would go for a variable in code with or with an underscore:
for (let i = 0; i < 5; i++) {
console.log(i);
}
The above yields:
0
1
2
3
4
Changing the i to _id yields the same results:
for (let _i = 0; i < 5; _i++) {
console.log(_i);
}
I’m not really sure why it is shown like that in the tests list. I think they should all use the same parameter name. I can see how it might be confusing otherwise.
As said, they are not different routes, it’s just the parameter name that is shown differently for some of the tests. You can name the parameter whatever you like (as long as you use it correctly).