2017-06-14 123 views
2

我想在swagger 2.0中使用yaml指定我的API數據類型,但是我得到一個引用錯誤(請參閱底部的錯誤詳細信息)。Swagger API錯誤:引用無法解析

我使用嵌套結構,其中父對象(InvoiceConfigData)包含子對象(ProviderVariantsData)的數組。這是YAML文件的層次結構:

.API /昂首闊步/ cfg /中InvoiceConfigData.yaml:

required: 
    - providerName 
    - providerVariants 
properties:  
    providerName: 
    type: string 
    providerVariants: 
    type: array      
     items:  
     $ref: "#/definitions/ProviderVariantsData" 

.API /昂首闊步/ cfg /中ProviderVariantsData.yaml:

properties: 
    displayName: 
    type: string 
    cif: 
    type: string 
    availableTemplates: 
    type: array 
     items: 
     type: string 

.API /swagger/definitions.yaml:

ProviderVariantsData: 
    $ref: ./cfg/ProviderVariantsData.yaml 
InvoiceConfigData: 
    $ref: ./cfg/InvoiceConfigData.yaml 

,但我得到了以下錯誤:

API Errors: 

    #/definitions/InvoiceConfigData/$ref: Reference could not be resolved: ./cfg/InvoiceConfigData.yaml 
    #/definitions/ProviderVariantsData/$ref: Reference could not be resolved: ./cfg/ProviderVariantsData.yaml 

API Warnings: 

    #/definitions/ProviderVariantsData: Definition is defined but is not used: #/definitions/ProviderVariantsData 

我引用ProviderVariantsData的方式有問題,但我找不到導致錯誤的原因。我嘗試翻轉「definitions.yaml」(ProviderVariansData之上的InvoiceConfigData)中的順序,但沒有成功。

+0

您正在使用哪個解析器? – Helen

+1

問題在於「項目」中的縮進,它應該與「類型」處於同一級別。 – rodrunner

回答

0

swagger 2.0不支持多個YAML文件。

相關問題