Size: a a a

2020 May 22

p

pragus in Go-go!
Innokentii Konstantinov
клиента к публичному апи http://api-docs.amixr.io/
напишите swagger/openapi и сгенерируйте клиента.
источник

IK

Innokentii Konstanti... in Go-go!
pragus
напишите swagger/openapi и сгенерируйте клиента.
Спасибо за совет, но я начал что-то писать на го 3 дня назад и сейчас мне бы хотелось самому разобраться, а не кодогенерировать
источник

DP

Daniel Podolsky in Go-go!
Не надо самому разбираться, это для робота задача
источник

АП

Александр Попов... in Go-go!
Innokentii Konstantinov
Добрый вечер, пишу апи клиент на го, вдохновняюсь гитлабовским клиентом и столкнулся с проблемой разбора ответов.  В нем есть функция Do, которая записывает ответ в структуру переданную в аргументе v. Как это происходит? Структура должна релизовывать какой-то интерфейс? Спасибо
// Do sends an API request and returns the API response. The API response is
// JSON decoded and stored in the value pointed to by v, or returned as an
// error if an API error has occurred. If v implements the io.Writer
// interface, the raw response body will be written to v, without attempting to
// first decode it.
func (c *Client) Do(req *retryablehttp.Request, v interface{}) (*Response, error) {
resp, err := c.client.Do(req)
if err != nil {
 return nil, err
}
defer resp.Body.Close()

response := newResponse(resp)

if v != nil {
 if w, ok := v.(io.Writer); ok {
  _, err = io.Copy(w, resp.Body)
 } else {
  err = json.NewDecoder(resp.Body).Decode(v)
 }
}

return response, err
}
подойдет любая структура которая соотвествует вашему ответу
источник

АП

Александр Попов... in Go-go!
в клиенте
источник

АП

Александр Попов... in Go-go!
он в нее "распакует"
источник

IK

Innokentii Konstanti... in Go-go!
Александр Попов
подойдет любая структура которая соотвествует вашему ответу
Cпасибо,  а со вложенными ответами такая-же логика?
источник

АП

Александр Попов... in Go-go!
что есть встроенная?
источник

p

pragus in Go-go!
Innokentii Konstantinov
Cпасибо,  а со вложенными ответами такая-же логика?
вложенные ответы - это что?
источник

IK

Innokentii Konstanti... in Go-go!
{
   "id": "CFRPV98RPR1U8",
   "name": "Grafana :blush:",
   "link": "https://app.amixr.io/integrations/v1/grafana/mReAoNwDm0eMwKo1mTeTwYo/",
   "incidents_count": 1,
   "type": "grafana",
   "templates": {
       "grouping_key": "",
       "resolve_signal": "",
       "slack": {
           "title": "",
           "message": "",
           "image_url": ""
       }
   }
}
источник

i

ivanisimus in Go-go!
всем привет подскажите новичку есть два []byte 1 мегабайт каждый отличаются 10 случайными байтами, как максимально быстро найти ети отличия?
источник

IK

Innokentii Konstanti... in Go-go!
и мне следует использовать такие структуры?:
type Integration struct {
ID             string    `json:"id"`
Name           string    `json:"name"`
Link           string    `json:"link"`
Type           string    `json:"type"`
IncidentsCount int       `json:"incidents_count"`
Templates      Templates `json:"templates"`
Slack          Slack     `json:"slack"`
}

type Templates struct {
GroupingKey   string `json:"grouping_key"`
ResolveSignal string `json:"resolve_signal"`
}

type Slack struct {
Title    string `json:"title"`
Message  string `json:"message"`
ImageUrl string `json:"image_url"`
}
источник

АП

Александр Попов... in Go-go!
Innokentii Konstantinov
и мне следует использовать такие структуры?:
type Integration struct {
ID             string    `json:"id"`
Name           string    `json:"name"`
Link           string    `json:"link"`
Type           string    `json:"type"`
IncidentsCount int       `json:"incidents_count"`
Templates      Templates `json:"templates"`
Slack          Slack     `json:"slack"`
}

type Templates struct {
GroupingKey   string `json:"grouping_key"`
ResolveSignal string `json:"resolve_signal"`
}

type Slack struct {
Title    string `json:"title"`
Message  string `json:"message"`
ImageUrl string `json:"image_url"`
}
источник

IK

Innokentii Konstanti... in Go-go!
спасибо, сейчас попробую
источник

ЕИ

Евгений Иванов... in Go-go!
Всем привет !
Кто ни будь сталкивался с такой проблемой ? https://qna.habr.com/q/607295
Как решить ?)
источник

p

pragus in Go-go!
ivanisimus
всем привет подскажите новичку есть два []byte 1 мегабайт каждый отличаются 10 случайными байтами, как максимально быстро найти ети отличия?
O(n) вроде
источник

p

pragus in Go-go!
Innokentii Konstantinov
и мне следует использовать такие структуры?:
type Integration struct {
ID             string    `json:"id"`
Name           string    `json:"name"`
Link           string    `json:"link"`
Type           string    `json:"type"`
IncidentsCount int       `json:"incidents_count"`
Templates      Templates `json:"templates"`
Slack          Slack     `json:"slack"`
}

type Templates struct {
GroupingKey   string `json:"grouping_key"`
ResolveSignal string `json:"resolve_signal"`
}

type Slack struct {
Title    string `json:"title"`
Message  string `json:"message"`
ImageUrl string `json:"image_url"`
}
на первый взгляд выглядит ок
источник

АП

Александр Попов... in Go-go!
Innokentii Konstantinov
{
   "id": "CFRPV98RPR1U8",
   "name": "Grafana :blush:",
   "link": "https://app.amixr.io/integrations/v1/grafana/mReAoNwDm0eMwKo1mTeTwYo/",
   "incidents_count": 1,
   "type": "grafana",
   "templates": {
       "grouping_key": "",
       "resolve_signal": "",
       "slack": {
           "title": "",
           "message": "",
           "image_url": ""
       }
   }
}
type AutoGenerated struct {
ID             string `json:"id"`
Name           string `json:"name"`
Link           string `json:"link"`
IncidentsCount int    `json:"incidents_count"`
Type           string `json:"type"`
Templates      struct {
 GroupingKey   string `json:"grouping_key"`
 ResolveSignal string `json:"resolve_signal"`
 Slack         struct {
  Title    string `json:"title"`
  Message  string `json:"message"`
  ImageURL string `json:"image_url"`
 } `json:"slack"`
} `json:"templates"`
}
источник

АП

Александр Попов... in Go-go!
на самом деле можно аномные структуры вставить
источник

АП

Александр Попов... in Go-go!
а можно и именнованные
источник