Не могу получить id get запроса в golang
Написал следующий код:
routers.go
...
r.HandleFunc("/api/user/{id}", controllers.APIGetUser).Methods("GET")
...
В функции APIGetUser пытаюсь получить значение id следующий образом:
func APIGetUser(w http.ResponseWriter, r *http.Request) {
params, found := mux.Vars(r)["id"]
if !found {
log.Println(": [INFO] Id not found ")
}
var user models.Users
db.Find(&user, params)
json.NewEncoder(w).Encode(user)
}
Но при запросе вида ../api/user/1 в лог пишет "ID not found", т.е. id по какой-то причине не найден. Через отладку смотрел значение переменой params, всегда mux.Vars(r)["id"] возвращает пустое значение - "".
В чём может быть проблема, так как поискав информацию, везде указывают такой метод получения параметра get запроса.