Я отправляю json и мне его нужно провалидировать, но я не могу понять можно ли в Go Gin так сделать, у меня массив contacts просто не валидируется
{
"contacts" : [
{
"phoneNumber" : "Номер",
"firstName" : "Имя",
"email" : "Почта",
"lastName" : "Фамилия"
}
],
"user" : "Номер пользователя"
}
Основной фильтр -
ContactsFilter
package Request
type ContactsFilter struct {
User string `json:"user" binding:"required"`
Contacts []ContactFilter `json:"contacts" binding:"required"`
}
Вложенный фильтр -
ContactFilter
package Request
type ContactFilter struct {
Email string `json:"email" binding:"required"`
LastName string `json:"lastName" binding:"required"`
FirstName string `json:"firstName" binding:"required"`
PhoneNumber string `json:"phoneNumber" binding:"required"`
}
И проверяю основной фильтр
var filter Request.ContactsFilter
if err := c.ShouldBindJSON(&filter); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}