- Notifications
You must be signed in to change notification settings - Fork3
Swagger to sf schema & st column in ng-alain
License
NotificationsYou must be signed in to change notification settings
ng-alain/sts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Convert Swagger API tosf Schema &st columns inng-alain projects.
ng-alain-sts
是一个 Node 插件,你可以使用命令行或直接调用generator
方法来获取转换后的sf
Schema 和st
列描述。
# via npmnpm i ng-alain-sts --save-dev# via yarnyarn add -D ng-alain-sts
ng-alain-sts
是专注于 NG-ALAIN,因此在 NG-ALAIN CLI 提供一个快捷命令:
ng g ng-alain:sts
它包含list
、edit
两个自定义模板,可以通过指令根据 Swagger API 接口来生成列表、编辑页。
ng g ng-alain:module tradeng g ng-alain:tpl swagger-list list -m=trade -t=trade --swaggerPath=/pet/findByStatus
更多请参考sts插件。
ng-alain-sts -t=sf -p=/pet swagger.json
参数
参数名 | 类型 | 默认 | 描述 |
---|---|---|---|
-t --type | sf,st | sf | 指定生成类型 |
-p --path | string | - | 必填 指定paths 路径 |
-m --method | string | get | 指定请求方法 |
-c --config | string | swagger-config.json | 指定配置文件路径 |
conststs=require('ng-alain-sts/src/generator');awaitsts.generator('https://petstore.swagger.io/v2/swagger.json',{type:'sf'},{descriptionIsTitle:true});
Swagger API 接口对于每一个后端语言或企业风格有着统一的编码风格、约定,如何更好的利用这些约定使生成的结构更符合当前的开发风格,从而进一步提升开发体验;配置文件给予了一些更自由空间,我们建议针对自己的接口风格定制不同的配置信息。
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
requestOptions | Swagger JSON 文件网络请求配置项 | any | - |
pathPrefix | 路径前缀 | string | - |
propertyMapNames | 自定义属性名称映射 | { [name: string]: string } | { id: '编号', name: '名称' } |
descriptionIsTitle | 指定description 为title ,并删除description | boolean | true |
sf | sf 配置项 | SFConfig | - |
st | st 配置项 | STConfig | - |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
method | 指定默认方法名 | string | put |
singleArray | 由于sf 并不支持这种类型,默认被转化为select 小部件 | SFSchema | - |
properties | 自定义属性的Schema | PathConfig[] | - |
xmlBlackNames | XML 属性白名单,这些信息会以优先级最高直接传递给ui | string[] | - |
propertyCallback | 递归属性回调 | (optinos: SFPropertyCallbackOptions) => void | - |
finishedCallback | 完成时回调 | (optinos: SFFinishedCallbackOptions) => void | - |
singleArray
单类型数组默认被转化为select
小部件:
{type:'string',ui:{widget:'select',mode:'tags',},default:null,}
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
method | 指定默认方法名 | string | get |
properties | 自定义属性的Schema | PathConfig[] | - |
nameToType | 根据名称自定义类型 | { [name: string]: STColumnType } | - |
xmlBlackNames | XML 属性白名单,这些信息会以优先级最高直接传递给STColumn | string[] | ['i18n'] |
propertyCallback | 递归属性回调 | (optinos: STPropertyCallbackOptions) => void | - |
finishedCallback | 完成时回调 | (optinos: STFinishedCallbackOptions) => void | - |
nameToType
定制根据名称自定义类型,默认值为:
{price:'currency',amount:'currency',num:'number',count:'number',avatar:'img',mp:'img',modified:'date',created:'date',}
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
name | 属性名称 | string | - |
path | 指定路径,若不指定则该属性名对所有 path 有效 | string | - |
value | 值分为SFSchema 或STColumn 类型 | `SFSchema | STColumn` |
MIT