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.