根据Open API 3.0的定义,创建一个用于golang服务器代码的框架

根据Open API 3.0的定义,创建一个使用golang编写的服务器代码的骨架。

简而言之

    1. 使用Swagger Editor创建API定义(Open API 3.0)

 

    1. 根据API定义创建Golang服务器代码的框架

 

    实现和部署代码

请注意

这是初学者的备忘录。我只完成了一部分。


在Swagger编辑器中创建API定义(Open API 3.0)。

大家都在使用Swagger这种东西。
在软件开发中,由于规格文件与实现不一致等情况经常会遇到,所以我们一定要尽量避免。

据说有一个叫做Swagger Editor的可视化工具,听说很方便。这是个方便的工具。
创建的定义可以通过[文件] > [另存为YAML]来下载。

Swagger Editor

尽管Swagger似乎是事实上的标准,但如果有一个被标准化的标准Open API写法的话,个人认为还是应该倾向于遵循那个,即使它可能是被事实上承认的。

根据API定义创建Golang服务器代码的框架

我想做這件事。為什麼選擇Golang呢?因為等一下要容器化並部署的時候會比較輕鬆。而且據說幾年前開始,如果談到伺服器端就適合使用Golang。

好的,要创建骨架代码,可以使用openapi-generator。
下载jar文件,然后将其放在适当的位置即可。
2 – 入门指南

顺便说一下,似乎还有Node JS的封装程序,所以前端使用了Node JS的功能,要用npm命令进行安装。

npm install @openapitools/openapi-generator-cli -g
openapi-generator version

在创建骨架代码的同时,顺便创建一个Golang项目。
请先安装好Golang,可以安装在C:\go或者C:\Users\foo\go等路径下。

顺便提一下,关于Golang项目的目录结构,虽然似乎有各种说法,但事实并非如此。
在进行编程相关搜索时,最好使用Google搜索并设置为最近一年的结果。
截至2020年7月的当前时点,遵循这个结构似乎是最好的选择。

# ここで作成
openapi-generator generate -g go-server -i api\openapi.yaml -o myproject

如果执行上述命令,您将立即开始进行Go开发,目录为myproject及其子目录。
但是,使用无选项默认创建的骨架代码会违反go-lint的命名规则。
特别是如果您在VS Code中使用Golang扩展功能,那么默认的代码检查工具是go-lint,非常麻烦。

type ServiceOperationsApiController should be ServiceOperationsAPIControllergo-lint

听说这个字符串”这个Api”是openapi-generator默认附加的一个与其他骨架共享的前缀。


openapi-generator help generate
 省略 
        --api-name-suffix <api name suffix>
            Suffix that will be appended to all API names ('tags'). Default:
            Api. e.g. Pet => PetApi. Note: Only ruby, python, jaxrs generators
            suppport this feature at the moment.
# ここで作成
openapi-generator generate -g go-server -i api\openapi.yaml -o myproject --api-name-suffix API
广告
将在 10 秒后关闭
bannerAds