2016-11-03 2 views
1

-Code unten:Wie verwendet man die Swagger-Definition in Definitionen?

definitions: 
    Result: 
    type: object 
    properties: 
     code: 
     type: integer 
     format: int32 
     message: 
     type: string 
    FindUID: 
    type: object 
    properties: 
     code: 
     type: integer 
     format: int32 
     message: 
     type: string 
     data: 
     type: object 
     properties: 
      uid: 
      type: integer 
      format: int64 
    FindUsername: 
    type: object 
    properties: 
     code: 
     type: integer 
     format: int32 
     message: 
     type: string 
     data: 
     type: object 
     properties: 
      username: 
      type: string 

Wie Sie sehen können, ist der erste Teil von FindUID und FindUsername ist die gleiche wie Result. Wie ersetzt man diesen doppelten Code mit Result?

Antwort

2

können Sie Definitionen komponieren allOf verwenden, hier ist ein vollständiges Beispiel, wo Ergebnis in FindUID und FindUsername verwendet wird:

swagger: '2.0' 
info: 
    description: Example API Description 
    title: Example Title 
    version: 1.0.0 
paths: {} 
definitions: 
    Result: 
    type: object 
    properties: 
     code: 
     type: integer 
     format: int32 
     message: 
     type: string 
    FindUID: 
    allOf: 
     - $ref: "#/definitions/Result" 
     - type: object 
     properties: 
      data: 
      type: object 
      properties: 
       uid: 
       type: integer 
       format: int64 
    FindUsername: 
    allOf: 
     - $ref: "#/definitions/Result" 
     - type: object 
     properties: 
      data: 
      type: object 
      properties: 
       username: 
       type: string 

Mehr dazu hier: https://apihandyman.io/writing-openapi-swagger-specification-tutorial-part-4-advanced-data-modeling/ (Offenlegung: Ich schrieb dieses Tutorial)

+0

Es funktioniert . Ich werde dein Tutorial im Detail lesen. Vielen Dank. – goofansu

Verwandte Themen