在Go中参考实现一个玩具CRUD API(附代码)

472 阅读1分钟

编码 Dojo API

在Go中参考实现了一个玩具CRUD API。

服务器代码和类型是使用oapi-codegenapp/api/coding-dojo-api.yaml 的OpenAPI规范中生成的。

设置

安装oapi-codegen ,从OpenAPI规范中生成代码:

go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest

API类型和服务器的代码是从coding-dojo-api.yml 中生成的,在/app/api 与:

$ oapi-codegen -generate types  -o types.gen.go  -package api coding-dojo-api.yml
$ oapi-codegen -generate server -o server.gen.go -package api coding-dojo-api.yml

或者使用配置.yml 文件:

$ oapi-codegen --config server.cfg.yml coding-dojo-api.yml
$ oapi-codegen --config types.cfg.yml coding-dojo-api.yml

types.gen.go 中生成的代码定义了与OpenAPI规范中给出的模式相对应的结构类型。server.gen.go 中的代码定义了HTTP服务器的接口,在app/mem-server.go 以及app/db-server.go 中实现。