Как прочитать список параметров запроса - PullRequest
0 голосов
/ 29 октября 2019

У меня есть метод, который берет список идентификаторов пользователей и возвращает список сведений о пользователях.

func ListUser(userIDs []interface{}) (users []User, err error) {
    // query on DB based on userID and return list of users
    return users, nil
}

Теперь я хочу предоставить конечную точку API для него. Итак, я пытаюсь получить идентификаторы пользователей из моего URL.

func ListUserProfile(w http.ResponseWriter, r *http.Request) {
    // I know I can get the single value using 
         //r.URL.Query().Get("user-id")

    // but here List user takes []interface{} as a argument
    users, err := users.ListUser(userIDs)
}

Есть ли какой-нибудь способ, которым я могу получить список userIDS из моего URL.

1 Ответ

0 голосов
/ 29 октября 2019

Разбор формы и копирование []string в форме в []interface{}. Часто задаваемые вопросы по Go объясняют, почему требуется копирование .

r.ParseForm()
userIDs := make([]interface{}, len(r.Form["user-id"]))
for i, s := range r.Form["user-id"] {
   userIDs[i] = s
}

users, err := users.ListUser(userIDs)

(Вопрос и комментарий не совпадают с именем параметра запроса. Отрегулируйте код в ответе, чтобы он соответствовал фактическому имени.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...