goctl template一定制化服务配置生成

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路goctl template一定制化服务配置生成,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

官网介绍:

模板(Template)是数据驱动生成的基础,所有的代码(rest api、rpc、model、docker、kube)生成都会依赖模板, 默认情况下,模板生成器会选择内存中的模板进行生成,而对于有模板修改需求的开发者来讲,则需要将模板进行落盘, 从而进行模板修改,在下次代码生成时会加载指定路径下的模板进行生成。

简单来水goctl template可以一键化生成api,rpc,model的配置文件,在之前的demo中都是使用如下命令生成代码:

## 生成api
goctl api new demo

## 生成rpc
goctl rpc new demo

以及其他CLI命令

在这里插入图片描述
每需要一个配置文件都需要使用对应的cli是很麻烦的,而且会生成许多不需要的文件,goctl就可以一键化生成所有的配置文件,而无需调用单个的cli生成命令。

在这里插入图片描述
对于windows的开发,在安装了goctl的情况下,直接使用goctl template init会在用户目录生成一个文件.goctl

在这里插入图片描述
进入该目录是一个以goctl版本为名称的目录,复制该目录到项目下:

在这里插入图片描述

那么常用的api,rpc文件夹就是生成api服务,rpc服务的模板

在这里插入图片描述
通过这些定义了服务的模板就可以生成对应的目录和文件,那么如何通过该这些tpl模板生成源文件呢?

给任意goctl命令添加–home 选项指定templete目录就可以根据tpl模板生成对应的配置文件。

在这里插入图片描述
通过goctl api -home [tmmplate_path] -o [output_path]

在这里插入图片描述

tmmplate_path是从.goctl复制到项目的目录,也就是goctl版本为目录的上一级目录;output_path是输出目录。

如下是初始目录,只有goctl的template目录

在这里插入图片描述
使用goctl api -home命令,如下

goctl api -home ./goctltpl -o C:\xwh\go-learn\goctl-tpl\demoapi.api

在这里插入图片描述
在设置的输出目录生成了api文件,注意文件一定要带上.api后缀,不然生成的文件没有后缀。
在这里插入图片描述
如下所示生成了api文件

在这里插入图片描述

通过goctl template生成了一个api文件,api文件是构建api服务的关键,那么可以看出,goctl template的作用是用来定制化api服务。

goctl api go --api [dir] --dir [target]可知生成一个api服务目录,如下

在这里插入图片描述
但是其内部的内容是不变的,不了在任何位置使用插件都是一样的,但是通过tpl文件就可以定制化操作,生成自定义的目录结构。

通过go template init生成goctl template文件后,每个tpl文件修改,如下

在这里插入图片描述
tpl文件和生成api目录部分对应,有些实现了融合,对tpl修改之后在使用goctl api go --api [dir] --dir [target] --home [tpl目录]就不再生成默认的目录结构了,而是定制的目录结构。

例如,不指定定制的goctl template是任然通过默认的生成

在这里插入图片描述
在这里插入图片描述

如下所示,实现定制化配置:

  1. 修改部分tpl
    在这里插入图片描述
    在这里插入图片描述

  2. 使用修改后的tpl配置
    在这里插入图片描述

  3. 查看是否完成

配置生效,多出了tpl的配置
在这里插入图片描述
方法生效,多出了之前的配置
在这里插入图片描述
使用go template实现了定制的服务代码自动生成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156098.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!