ng-alain-sts
v0.0.2
Published
Swagger to sf schema & st column in ng-alain
Downloads
2,605
Maintainers
Readme
ng-alain-sts
Convert Swagger API to sf Schema & st columns in ng-alain projects.
如何使用
ng-alain-sts
是一个 Node 插件,你可以使用命令行或直接调用 generator
方法来获取转换后的 sf
Schema 和 st
列描述。
# via npm
npm i ng-alain-sts --save-dev
# via yarn
yarn add -D ng-alain-sts
ng-alain
ng-alain-sts
是专注于 NG-ALAIN,因此在 NG-ALAIN CLI 提供一个快捷命令:
ng g ng-alain:sts
它包含 list
、edit
两个自定义模板,可以通过指令根据 Swagger API 接口来生成列表、编辑页。
ng g ng-alain:module trade
ng 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
| 指定配置文件路径 |
调用
const sts = require('ng-alain-sts/src/generator');
await sts.generator(
'https://petstore.swagger.io/v2/swagger.json',
{ type: 'sf' },
{ descriptionIsTitle: true }
);
配置文件
Swagger API 接口对于每一个后端语言或企业风格有着统一的编码风格、约定,如何更好的利用这些约定使生成的结构更符合当前的开发风格,从而进一步提升开发体验;配置文件给予了一些更自由空间,我们建议针对自己的接口风格定制不同的配置信息。
Config
| 参数 | 说明 | 类型 | 默认值 |
|------------------|-------------------------|-------|--------|
| requestOptions
| Swagger JSON 文件网络请求配置项 | any
| - |
| pathPrefix
| 路径前缀 | string
| - |
| propertyMapNames
| 自定义属性名称映射 | { [name: string]: string }
| { id: '编号', name: '名称' }
|
| descriptionIsTitle
| 指定 description
为 title
,并删除 description
| boolean
| true
|
| sf
| sf
配置项 | SFConfig
| - |
| st
| st
配置项 | STConfig
| - |
SFConfig
| 参数 | 说明 | 类型 | 默认值 |
|------------------|-------------------------|-------|--------|
| 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,
}
STConfig
| 参数 | 说明 | 类型 | 默认值 |
|------------------|-------------------------|-------|--------|
| 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',
}
PathConfig
| 参数 | 说明 | 类型 | 默认值 |
|--------|---------|-------|--------|
| name
| 属性名称 | string
| - |
| path
| 指定路径,若不指定则该属性名对所有 path 有效 | string
| - |
| value
| 值分为 SFSchema
或 STColumn
类型 | SFSchema | STColumn
| - |
License
MIT