Gin — это веб-фреймворк, написанный на Golang. Он имеет API-интерфейс, похожий на Martini, но с производительностью до 40 раз выше, чем у Martini. Если вам нужна производительность и производительность, вам понравится Gin.



Начните с создания каталога проекта. Перейдите в каталог и создайте файл main.go с помощью следующей команды (или вы можете сделать это в своей любимой среде IDE).

touch main.go

После создания файла main.go в каталоге проекта выполните приведенную ниже команду для создания модуля go.

go mod init github.com/ashkan-maleki/gin-basic

«github.com/ashkan-maleki/gin-basic» — это имя нашего модуля. Вы можете выбрать имя, которое вам нравится. Теперь вы должны увидеть файл с именем go.mod внутри каталога проекта. Затем откройте файл main.go и вставьте в него следующий код.

package main


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


func main() {
  router := gin.Default()
  router.GET("/", func(c *gin.Context) {
     c.JSON(http.StatusOK, gin.H{
        "message": "hello gin",
     })
  })
  router.Run()
}

Первая строка, package main, указывает, что это основной модуль в этом проекте. Раздел import предназначен для импорта пакетов Gin и HTTP. Функция main() — это функция особого типа, которая является точкой входа исполняемых программ. Gin предоставляет нам механизм маршрутизатора по умолчанию, объявленный в самом начале функции main. Затем мы создаем метод HTTP GET для корневого (/) ресурса и определяем функцию, которая будет вызываться, когда HTTP-запросы достигают корневой конечной точки. Функция отправляет ответ JSON с кодом состояния 200 (ОК) с телом «сообщения»: «hello gin». Наконец, мы должны развернуть маршрутизатор на порту 8080 (порт по умолчанию) с помощью метода router.Run().

Перед запуском нашего крошечного веб-сервиса мы должны добавить требования к модулям и суммы. Для этого мы запускаем приведенную ниже команду.

go mod tidy

После выполнения вышеуказанной команды все наши требования установлены. Таким образом, вы больше не должны видеть ошибки в своей среде IDE. Кроме того, в ваш проект добавляется файл с именем go.sum.

Мы готовы запустить наш проект прямо сейчас. Используйте следующую команду для запуска проекта.

go run main.go

Вы должны увидеть такой вывод в своем терминале

[GIN-debug] [WARNING] Creating an Engine instance with the Logger
and Recovery middleware already attached.


[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env:   export GIN_MODE=release
- using code:  gin.SetMode(gin.ReleaseMode)


[GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

Мы должны протестировать наш API. Мне нравится Postman, и я использую его для тестирования API.

Если у вас нет Postman, вы можете получить с его сайта



Или вы можете использовать другие технологии, такие как curl. Запустите приведенную ниже команду в терминале Ubuntu или Windows PowerShell.

curl http://localhost:8080/

Проверьте свой терминал

Мы создали очень маленький веб-сервис, используя Go и Gin. Пожалуйста, проверьте мою страницу LinkedIn для получения дополнительной информации, связанной с Go.

https://www.linkedin.com/company/maleki-programming/