api_doc.py 4.79 KB
base_part = '''
swagger: "2.0"
info:
  title: 接口文档
  description: 宝马ocr/biz_logic接口文档
  version: 1.0.0
host: "staging-bmw-ocr.situdata.com"
basePath: "/"
tags:
  - name: doc
    description: 文件
schemes:
- "https"
- "http"
security:
  - OAuth2: []
'''

#   scheme: oauth
security_definitions = '''
OAuth2:
    type: oauth2
    flow: application
    description: >
        This API uses OAuth 2 with the application(clientCredentials) grant flow.
        
        client_id=sMlciTkppsMzARwHpCVarm5q7DP2Vucj3ny8JFhw
        
        client_secret=WNoOilDx140ZLcenDKfsnikv7S2LIFs60DciYoqnrZaYLqYsKpcmt7mJIL69o9AEf84uQvRnS3K2UioxfjNyImjR4UOyXbDcF6qYgTLC4KDVByKFdVhKfrn2Lc4q4BNW
        
        scopes=write
    tokenUrl: https://staging-bmw-ocr.situdata.com/api/oauth/token/
    scopes:
      write: Grants write access
'''

responses = '''
ErrorResponse:
  description: 调用异常, 具体情况请参考`HTTP`状态码和`code`字段
  schema:
    $ref: '#/definitions/ApiResponse'
NoContent:
  description: 后台接收请求,但是没有响应内容
  schema:
    $ref: '#/definitions/ApiResponse'
'''

parameters = ''

definitions = '''
Doc:
  type: object
  required: [applicationData, applicantData, document]
  properties:
    applicationData:
      description: 申请信息
      type: object
      required: [applicationId]
      properties: 
        applicationId:
          description: 申请id
          type: string
          example: CH-B0011010101
    applicantData:
      description: 申请人信息
      type: object
      required: [mainApplicantName, coApplicantName, guarantor1Name, guarantor2Name]
      properties: 
        mainApplicantName:
          description: 主申请人
          type: string
          example: 王明阳
        coApplicantName:
          description: 共同申请人
          type: string
          example: 王明月
        guarantor1Name:
          description: 担保人1
          type: string
          example: 王明日
        guarantor2Name:
          description: 担保人2
          type: string
          example: 王明雨
    document:
      description: 文件信息
      type: object
      required: [documentName, documentScheme, businessType, uploadFinishTime, dataSource, metadataVersionId]
      properties: 
        documentName:
          description: 文件名
          type: string
          example: CH-B0011010101王明阳申请表
        documentScheme:
          description: 文件方案
          type: string
          example: Acceptance
          enum: [Acceptance, Settlement, Contract Management]
        businessType:
          description: 业务类型
          type: string
          example: CO00001
          enum: [CO00001, CO00002]
        uploadFinishTime:
          description: 上传完成时间
          type: string
          example: '2020-09-01 12:21:11'
        dataSource:
          description: 数据源
          type: string
          example: POS
          enum: [POS, EAPP, Econtract]
        metadataVersionId:
          description: 元数据版本ID
          type: string
          example: '8410480'
          
Application:
  type: object
  required: [APPLICATION_INFORMATION]
  properties:
    APPLICATION_INFORMATION:
      description: 申请单信息
      type: object
      required: [SUBMIT_DATETIME, STATUS, ENTITY, RATING, APPLICATION_ID, APPLICATION_VERSION, INTERMEDIATE_DECISION]
      properties: 
        SUBMIT_DATETIME:
          description: 提交时间
          type: string
          example: 2020-07-08T18:33:31.000+08:00
        STATUS:
          description: 状态
          type: integer
          example: 42
        ENTITY:
          description: 业务类型
          type: string
          example: CO00001
          enum: [CO00001, CO00002]
        RATING:
          description: 排名
          type: integer
          example: 4
        APPLICATION_ID:
          description: 申请id
          type: string
          example: CH-B0011010101
        APPLICATION_VERSION:
          description: 申请版本
          type: integer
          example: 1
        INTERMEDIATE_DECISION:
          description: ''
          type: string
          example: MUW
          

ApiResponse:
  description: 响应对象,code字段用于表示响应的状态; data字段用于存放响应内容
  type: object
  required: [code, msg]
  properties:
    code:
      type: integer
      format: uint8
      description: '0: success
                    1: need login
                    2: invalid params
                    3: internal error
                    4: object not exist
                    5: async wait
                    6: no permission
                    7: illegal operation'
      example: 0
      enum: [0, 1, 2, 3, 4, 5, 6, 7]
    msg:
      type: string
      example: success
    data:
      type: object
'''