2017-06-14 17 views
2

yamlを使用してswagger 2.0で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

問題は "items"の字下げです。 "type"と同じレベルにする必要があります。 – rodrunner

答えて

0

swagger 2.0は複数のYAMLファイルをサポートしていません。

関連する問題