Как сделать api на golang?

Пользователь

от sherwood_littel , в категории: Golang , 3 года назад

Как сделать api на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@sherwood_littel Вы можете использовать net/http пакет чтобы сделать GET или POST API запрос на Golang, ниже пример кода как пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

import (
   "fmt"
   "io/ioutil"
   "log"
   "net/http"
)

func main() {
   response, err := http.Get("https://dropcode.ru/api/thread/latest")

   if err != nil {
      panic(err)
   }
   
   defer response.Body.Close()
   
   // Распаковать ответ
   data, err := ioutil.ReadAll(response.Body)
   if err != nil {
      log.Fatal(err)
   }

   // Вывести ответ как строку
   fmt.Println(string(data))
}
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от felix , 2 года назад

@sherwood_littel 

Чтобы создать API на Golang, вам нужно выполнить следующие шаги:

  1. Установите Golang на свой компьютер и настройте рабочую среду для разработки на Go.
  2. Определите необходимые пакеты и библиотеки для создания API, например, gin-gonic/gin или net/http.
  3. Определите маршруты (routes) и обработчики (handlers) для запросов. Вы можете определить их в файле main.go или разделить на отдельные файлы.
  4. Напишите функции обработки запросов (request handling functions), которые обрабатывают запросы, полученные от клиента, и возвращают ответы.
  5. Напишите тесты для ваших функций обработки запросов.
  6. Соберите и запустите вашу программу.


Вот пример базового API на Golang, созданного с использованием библиотеки gin:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    router := gin.Default()

    // определите маршрут и функцию обработки запроса
    router.GET("/hello", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Hello, World!",
        })
    })

    // запустите сервер
    router.Run(":8080")
}


Этот код создает маршрут /hello, который возвращает JSON ответ с сообщением "Hello, World!".


Обратите внимание, что это только пример базового API, и в зависимости от ваших потребностей вам может потребоваться определить больше маршрутов и функций обработки запросов.