zhoujiahua / go-web-app

Go Web App is a simple Go language book management web application. The project is developed using the Gin Web Framework and follows the Apache License 2.0.

Home Page:https://github.com/zhoujiahua/go-web-app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go Web App

Go Web App 是一个简单的 Go 语言书籍管理 Web 应用程序。项目使用 Gin Web Framework 进行开发,并遵循 Apache License 2.0 许可。

目录结构

项目的目录结构说明:

go-web-app 
│
├── controllers     # 存放所有的控制器,用于处理 HTTP 请求
│   ├── book_controller.go
│
├── models          # 存放所有的数据模型,用于处理业务逻辑
│   ├── book.go
│
├── routes          # 存放路由配置,用于定义 API 路径和对应的处理函数
│   ├── book_router.go
│
├── utils           # 存放工具类,例如:自定义的 JSON 响应函数
│   ├── response.go
│
├── main.go         # 应用程序的入口
├── README.md       # 项目说明文档
└── go.mod          # Go 项目的依赖管理文件

功能API

API名称 路由 方法 请求参数
获取所有书籍 /api/v1/books GET
获取单个书籍 /api/v1/books/:id GET
添加书籍 /api/v1/books POST title (string) - 书名
author (string) - 作者
修改书籍 /api/v1/books/:id PUT title (string) - 书名
author (string) - 作者
删除书籍 /api/v1/books/:id DELETE

安装

确保您的计算机已安装 Go

克隆此存储库:

git clone https://github.com/zhoujiahua/go-web-app.git

进入项目目录:

cd go-web-app

获取依赖:

go get

运行

在项目根目录下运行:

go run main.go

应用程序将在 http://localhost:9527 上运行。

Docker

打开终端或命令提示符,运行以下命令构建 Docker 镜像:

# 请注意,这里的 `go-web-app` 是镜像的名称,你可以根据自己的需要更改它。
docker build -t go-web-app .

镜像构建完成后,运行以下命令启动容器:

# 同样地,`go-web-app-container` 是容器的名称,你可以根据自己的需要更改它。
docker run -d -p 9527:9527 --name go-web-app-container go-web-app

现在,你已经成功地将项目构建成 Docker 镜像并运行了容器。在浏览器中访问 http://localhost:9527/api/v1/books,你应该能看到项目正常运行并返回 JSON 数据。

Docker-Compose

打开终端或命令提示符,运行以下命令启动 Docker Compose:

# 启动
docker-compose up --build

# 停止
docker-compose down

现在,你已经成功地使用 Docker Compose 构建并运行了该项目。在浏览器中访问 http://localhost:9527/api/v1/books,你应该能看到项目正常运行并返回 JSON 数据。

许可

本项目采用 Apache License 进行许可。

About

Go Web App is a simple Go language book management web application. The project is developed using the Gin Web Framework and follows the Apache License 2.0.

https://github.com/zhoujiahua/go-web-app

License:Apache License 2.0


Languages

Language:Go 93.6%Language:Dockerfile 4.8%Language:Shell 1.5%