Swagger应用

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





猜你喜欢

转载自blog.csdn.net/qq_38286331/article/details/79872387