51 lines
1.7 KiB
Markdown
51 lines
1.7 KiB
Markdown
# 演示
|
|
|
|
## 启动
|
|
|
|
```sh
|
|
➜ go run v1/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 /api/books --> main.(*BookApiHandler).ListBook-fm (3 handlers)
|
|
[GIN-debug] POST /api/books --> main.(*BookApiHandler).CreateBook-fm (3 handlers)
|
|
[GIN-debug] GET /api/books/:bn --> main.(*BookApiHandler).GetBook-fm (3 handlers)
|
|
[GIN-debug] PUT /api/books/:bn --> main.(*BookApiHandler).UpdateBook-fm (3 handlers)
|
|
[GIN-debug] DELETE /api/books/:bn --> main.(*BookApiHandler).DeleteBook-fm (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] Listening and serving HTTP on :8080
|
|
```
|
|
|
|
## CRUD 示例
|
|
|
|
- 创建书籍:
|
|
```sh
|
|
curl -X POST http://localhost:8080/api/books -H "Content-Type: application/json" -d '{"title": "Go 语言", "author": "张三", "price": 39.99}'
|
|
```
|
|
|
|
- 获取所有书籍:
|
|
```sh
|
|
curl http://localhost:8080/api/books
|
|
```
|
|
|
|
|
|
- 根据 ID 获取书籍:
|
|
```sh
|
|
curl http://localhost:8080/api/books/1
|
|
```
|
|
|
|
- 更新书籍:
|
|
```sh
|
|
curl -X PUT http://localhost:8080/api/books/1 -H "Content-Type: application/json" -d '{"title": "Go 语言进阶", "author": "张三", "price": 49.99}'
|
|
```
|
|
|
|
- 删除书籍:
|
|
```sh
|
|
curl -X DELETE http://localhost:8080/api/books/1
|
|
```
|
|
|
|
这样就完成了一个简单的使用 MySQL 的 Book CRUD 示例。你可以根据需要进一步扩展功能。 |