
Daniel
19.10.2018
07:44:39

Мерлин
19.10.2018
07:50:30

Александр
19.10.2018
07:53:02
Доброго времени суток

Google

Александр
19.10.2018
07:53:26
возникает ошибка "json: cannot unmarshal number into Go value of type string" но суть в том, что мне надо вычлинить какое поле именно ошибочное
что бы корректно пользователя ткнуть
раньше через errType.Field кажись...
хотя нет, не проехали. Не заполняет (думал может опять не паблик сделал)
type Users struct {
Name *string json:"name" validate:"required"
}
--- JSON:
{
"Name": 2
}
по идеи это ошибка *json.UnmarshalTypeError
и там есть errType.Field но там пусто

Андрей
19.10.2018
07:59:24
может так сделать?
Name *string json:"name,int" validate:"required"

Александр
19.10.2018
08:00:26
O_o
а что вы хотели добиться такой схемой?
вроде там только name должен быть

Maksim
19.10.2018
08:04:22
int вроде возле required писать надо

Artem
19.10.2018
08:06:13

Google

Андрей
19.10.2018
08:07:23
или это только для стрингов, когда флот пишут...

Maxim
19.10.2018
08:08:57
Секунду, помимо omitempty для опциональных полей, можно также указать required? Штоа?

Maksim
19.10.2018
08:09:19
Вместе нет

John
19.10.2018
08:09:21

Maxim
19.10.2018
08:09:37
Штоааа
А можно доки?

John
19.10.2018
08:10:08
А можно доки?
на что ? ты можешь на члена структуры сколько угодно тегов вешать, и потом самому это парсить

Maxim
19.10.2018
08:10:45

John
19.10.2018
08:10:59

Artem
19.10.2018
08:11:17

Maxim
19.10.2018
08:11:26

Artem
19.10.2018
08:11:43
это validator.v9
(наверное)

John
19.10.2018
08:11:57
вот еще такой https://github.com/go-validator/validator

Maxim
19.10.2018
08:12:05
Фух, ладно, а то я уже начал сомневаться в своём развитии

Александр
19.10.2018
08:12:09
да причем тут валидатор
стоямба
сначало идет анмаршел, именно он кидает ошибку
до валидатора это не дойдет

Google

Denys
19.10.2018
08:13:08
отклеевается дебагер dlv в вскоде
не могу понять почему
даже не знаю какую инфу скинуть, у кого то есть предположения?
в общем выполнения останавливается, но редактор не реагирует
причем в каких-то местах работает, вроде

Мерлин
19.10.2018
08:14:40

Marlik
19.10.2018
08:15:46

Александр
19.10.2018
08:16:02
json: cannot unmarshal number into Go value of type string

Мерлин
19.10.2018
08:16:22

Андрей
19.10.2018
08:18:39
https://goplay.space/#G9otInMSL3n
воспроизводится на любой

SkyCoffee
19.10.2018
08:19:55
потому что в json у тебя поле name имеет значение числа 1
Соответственно в структуре это должно быть число, а не строка

Андрей
19.10.2018
08:20:44
ну да так и задумано =), вопрос в том как решить

SkyCoffee
19.10.2018
08:21:06
поменять 1 на "1", если именно строка нужна

Pavel
19.10.2018
08:24:46
четко и по делу

Александр
19.10.2018
08:28:28
мне надо именно обработать ошибку

SkyCoffee
19.10.2018
08:29:29
видишь там if err != nil ? поменяй panic на свою обработку вроде fmt.Println("handled error")

Google

Александр
19.10.2018
08:31:31
не получится
там универсальные респонзы

Daniel
19.10.2018
08:33:04
коллега, похоже, парсер вас не порадует именем поля

Александр
19.10.2018
08:33:30
я даже помню как то работало это

Daniel
19.10.2018
08:33:50
но в данном случае парсер его не заполняет, так?

Александр
19.10.2018
08:34:10
да

Daniel
19.10.2018
08:34:21
ну вот и все, расходимся.

Александр
19.10.2018
08:34:25
я там посмотрел core
func (e *UnmarshalTypeError) Error() string {
if e.Struct != "" || e.Field != "" {
return "json: cannot unmarshal " + e.Value + " into Go struct field " + e.Struct + "." + e.Field + " of type " + e.Type.String()
}
return "json: cannot unmarshal " + e.Value + " into Go value of type " + e.Type.String()
}

Daniel
19.10.2018
08:34:46
а, нет, есть вариант сгенерить анмаршалер easyjson, и посмотреть, что ответит он

Pawel
19.10.2018
08:36:18

Denys
19.10.2018
08:37:59
попробовал dlv он работает
ставить брикпоинты и ловит их
а vscode не хочет

Mykyta
19.10.2018
08:38:50

Мерлин
19.10.2018
08:39:20

Denys
19.10.2018
08:39:38
голенд дерьмо
странно что не брикается http handler

Google

Mykyta
19.10.2018
08:40:16

Denys
19.10.2018
08:40:17
main.go нормально на старте останавливается
пробовалл кастомный порт для дебага ставить, не помогает

GoodMoodDealler
19.10.2018
08:41:28
Всем привет!
Подскажите почему может не срабатывать omitempty

Daniel
19.10.2018
08:41:56
не может

GoodMoodDealler
19.10.2018
08:42:03
Я почитал что для некоторых типов лучше использовать указатели
Но тогда поля становятся равные null

Denys
19.10.2018
08:43:21
попробывал запустить debug headless с портом и приконнектиться вторым, не коннектиться

Pavel
19.10.2018
08:45:13

Denys
19.10.2018
08:45:33
я на мак аире 4 гб когда то кодил
там гогленд просто оперативку всю сожрал бы
а вскод нормально работал

Daniel
19.10.2018
08:46:36
коллеги
буду за ide-срач банить

Olzhas
19.10.2018
08:48:28
не ссорьтесь посоны
юзайте ви
страдать нужно по полной