1、Swagger editor 、swagger-ui、node.js安装
下载地址:
https://swagger.io/swagger-editor/
GitHub: https://github.com/swagger-api/swagger-editor
https://swagger.io/swagger-ui/
2、启动服务
可以通过http-server启动服务,但是在测试时访问api接口会出现跨域问题
将这两个服务放入api接口服务的tomcat下测试
启动成功后进入页面---
http://localhost:8081/swagger-ui-master/dist/index.html
http://localhost:8081/swagger-editor-master/index.html
swagger-ui 的dist文件夹下index.html
更改你编辑好的yaml文件进行测试
3、Swagger editor语法
------------------------------下面是编辑的一个例子----------------------------------------
swagger: '2.0'
info:
title: 'XXXXXXXXXXXX'
description: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
version: 0.0.1
host: 'localhost:8081'
basePath: '访问路径'
tags:
- name: merge
schemes:
- http
paths:
/merge/getMergeDataList:
get:
tags:
- merge
summary: 获取当前用户用于合并的文件
description: ''
operationId: getMergeDataList
produces:
- application/json
parameters:
- name: key
in: query
description: 高德key
required: true
type: string
responses:
'200':
description: successful operation
/merge/getMergeShpFileFields:
post:
tags:
- merge
summary: 获取shp文件合并的字段信息
description: ''
operationId: getMergeShpFileFields
produces:
- application/json
parameters:
- name: key
in: query
description: 高德key
required: true
type: string
- in: body
name: body
description: 'Models ------> getMergeShpFileFields'
required: true
schema:
$ref: '#/definitions/getMergeShpFileFields'
responses:
'200':
description: successful operation
schema:
$ref: '#/definitions/getMergeShpFileFieldsRs'
/merge/getMergePrice:
post:
tags:
- merge
summary: 计算价格
description: ''
operationId: getMergePrice
produces:
- application/json
parameters:
- name: key
in: query
description: 高德key
required: true
type: string
- in: body
name: body
description: 'Models ------> getPrice'
required: true
schema:
$ref: '#/definitions/getPrice'
responses:
'200':
description: successful operation
schema:
$ref: '#/definitions/getPriceRs'
/merge/getMergeResult:
post:
tags:
- merge
summary: 文件合并
description: ''
operationId: getMergeResult
produces:
- application/json
parameters:
- name: key
in: query
description: 高德key
required: true
type: string
- in: body
name: body
description: 'Models ------> merges'
required: true
schema:
$ref: '#/definitions/merges'
responses:
'200':
description: successful operation
schema:
$ref: '#/definitions/mergeRs'
/getjobstatus:
post:
tags:
- merge
summary: 获取执行状态
description: ''
operationId: getjobstatus
produces:
- application/json
parameters:
- name: key
in: query
description: 高德key
required: true
type: string
- in: body
name: body
description: 'Models ------> getStatus'
required: true
schema:
$ref: '#/definitions/getStatus'
responses:
'200':
description: successful operation
schema:
$ref: '#/definitions/status'
definitions:
merges:
type: object
properties:
toolid:
type: integer
description: 工具编码
mergeFilesSource:
type: array
items:
$ref: "#/definitions/Tag"
description: 被合并文件的信息
boundarysnum:
type: integer
description: 被合并文件的总的空间数量,featureNum之和
outdataname:
type: string
description: 文件输出名字,如果不设置输出名,默认值为 nil
filefrom1:
type: string
description: 合并文件的类型,空间文件(shp1),属性文件(csv1)
outType:
type: string
description: 合并后文件输出类型,空间文件(shp),属性文件(csv)
isPay:
type: integer
description: 是否需要支付, 1表示支付,0表示不支付, 支付就不会进一步计算
download:
type: integer
description: 下载
xml:
name: merges
Tag:
type: object
properties:
Sfileurl:
type: string
description: 需要合并的文件路径(合并的文件不能相同)
fields:
type: string
description: 合并文件的字段及其该字段的数据类型,用“>>”分隔(ObjectID>>java.lang.Double)
Sgeotype:
type: string
description: 被合并文件的geomType信息
xml:
name: Tag
mergeRs:
type: object
properties:
status:
type: integer
description: 状态码
xml:
name: mergeRs
getMergeShpFileFields:
type: object
properties:
dataid:
type: integer
description: 文件id
xml:
name: getMergeShpFileFields
getMergeShpFileFieldsRs:
type: object
properties:
unitFields:
type: array
items:
$ref: "#/definitions/unitFields"
description: 文件字段
unitFieldDataTypeList:
type: array
items:
$ref: "#/definitions/unitFieldDataTypeList"
description: 字段类型
isDownloaded:
type: integer
description: ''
xml:
name: getMergeShpFileFieldsRs
unitFieldDataTypeList:
type: object
properties:
FileFieldsStyle:
type: string
description: ''
xml:
name: unitFieldDataTypeList
unitFields:
type: object
properties:
ObjectID:
type: string
description: ''
Name:
type: string
description: ''
Keywords:
type: string
description: ''
type:
type: string
description: ''
xml:
name: unitFields
getPrice:
type: object
properties:
toolid:
type: integer
description: 工具编码
boundarysnum:
type: integer
description: 被合并文件的总的空间数量,featureNum之和
xml:
name: getPrice
getPriceRs:
type: object
properties:
status:
type: integer
description: 状态码
payprice:
type: integer
description: 需要支付金额
xml:
name: getPriceRs
getStatus:
type: object
properties:
requestId:
type: integer
description: 任务id
xml:
name: getStatus
status:
type: object
properties:
dataId:
type: integer
description: 文件id
status:
type: integer
description: 执行状态
url:
type: string
description: 文件地址
datasetname:
type: string
description: 文件名称
xml:
name: status