golang echo

Для создания простого API на Go с использованием фреймворка Echo, вы можете следовать этому примеру. Мы создадим простой API с двумя маршрутами: один для получения списка пользователей и другой для добавления нового пользователя. ### Шаг 1: Установка Echo Если у вас еще не установлен Echo, установите его с помощью `go get`: ```bash go get -u github.com/labstack/echo/v4 ``` ### Шаг 2: Создание проекта Создайте новый проект и структуру папок: ``` my-echo-api/ ├── main.go └── user.go ``` ### Шаг 3: Создание модели пользователя Создайте файл `user.go` и определите структуру пользователя: ```go package main type User struct { ID int `json:"id"` Name string `json:"name"` Email string `json:"email"` } ``` ### Шаг 4: Создание основного файла Создайте файл `main.go` и напишите код для создания API: ```go package main import ( "net/http" "strconv" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" ) var users = []User{ {ID: 1, Name: "Alice", Email: "alice@example.com"}, {ID: 2, Name: "Bob", Email: "bob@example.com"}, } func main() { e := echo.New() // Middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) // Routes e.GET("/users", getUsers) e.POST("/users", createUser) // Start server e.Logger.Fatal(e.Start(":8080")) } // Handler func getUsers(c echo.Context) error { return c.JSON(http.StatusOK, users) } func createUser(c echo.Context) error { user := new(User) if err := c.Bind(user); err != nil { return err } user.ID = len(users) + 1 users = append(users, *user) return c.JSON(http.StatusCreated, user) } ``` ### Шаг 5: Запуск сервера Запустите сервер, выполнив команду: ```bash go run main.go ``` Сервер будет запущен на порту `8080`. ### Шаг 6: Тестирование API Теперь вы можете протестировать API с помощью `curl` или любого другого инструмента для работы с HTTP-запросами. #### Получение списка пользователей: ```bash curl http://localhost:8080/users ``` Вы должны увидеть ответ: ```json [ {"id":1,"name":"Alice","email":"alice@example.com"}, {"id":2,"name":"Bob","email":"bob@example.com"} ] ``` #### Добавление нового пользователя: ```bash curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d '{"name":"Charlie","email":"charlie@example.com"}' ``` Вы должны увидеть ответ: ```json {"id":3,"name":"Charlie","email":"charlie@example.com"} ``` ### Заключение Этот пример демонстрирует, как создать простой API на Go с использованием фреймворка Echo. Вы можете расширить этот пример, добавив больше маршрутов, обработку ошибок и другие функции.