2016-05-31 29 views
1

PetStoreを例に取るとの間接参照$ refを、SWAGGER:身体パラメータ

私は/ペットの$文献を参照解除しようとしています - 現在>置く操作:#定義/ペット: $ refを スキーマ

これを解決しようとしていますが、このテキストをjsonファイルから取得できません。 これは私が持っているものです:

BodyParameter bp =(BodyParameter)param; System.out.println(((RefModel)bp.getSchema())。get $ ref());

私は、これは私が後で定義マップをマップし、それを解決することができ、上記のテキストアウトを与えるだろうと思ったが、次のエラーました:IO:スレッド「メイン」とjava.lang.ClassCastExceptionに

例外を。スキーマは、タイプのモデルを返しますので、誰もが身体パラメータから、一般的にこの文字列を抽出する方法を知っているだろうswagger.models.ModelImplはio.swagger.models.RefModel

にキャストすることはできませんか? 私はswaggerパーサー、swagger inflectorプロジェクトのための適切なドキュメントソースが見つからないので、ソースコードそのものを狙っています。

答えて

4

次の操作を行います。

Model model = bp.getSchema(); 
if(model instanceof RefModel) { 
    RefModel ref = (RefModel) model; 
    String simpleRef = ref.getSimpleRef(); 
    Model concreteModel = swagger.getDefinitions().get(simpleRef); 
} 

あなたはconcreteModelModelImplですが、PetStoreをケースに、それが可能になることを確認する必要があります。

+0

私は何らかの理由で 'RefProperty'sを使用しなければなりませんでしたが、一度それを考え出したら、これはとても役に立ちました! –

関連する問題