Как опустить структуру поля - PullRequest
0 голосов
/ 09 июля 2019

Как я могу опустить struct filed, в моем случае я вхожу в систему и возвращаю ответ с пользовательскими данными и токеном, но в этом случае мне нужно удалить поле пароля, как я могу это сделать?

type LoginFormData struct {
    Login    string `json:"name"`
    Password string `json:"password"`
}

data := new(LoginFormData)

if err := c.Bind(data); err != nil {
    return err
}

userData := data // omit password field

        return c.JSON(http.StatusOK, map[string]interface{}{
            "user": struct {
                Password string `json:"-"`
                *LoginFormData
            }{
                LoginFormData: userData,
                Password:      userData.Password,
            },
            "token": "slkdfj",
        })

1 Ответ

1 голос
/ 09 июля 2019
  1. Добавить новую структуру, чем описать желаемую структуру
type LoginFormResponse struct {
    Login    string `json:"name"`
    Password string `json:"-"`
}
Конвертировать
return c.JSON(http.StatusOK, map[string]interface{}{
            "user":  LoginFormResponse(*data),
            "token": "slkdfj",
        })
...