编码 Dojo API
在Go中参考实现了一个玩具CRUD API。
服务器代码和类型是使用oapi-codegen从app/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 中实现。