2016-08-03 16 views
0

私が闊歩するUIのデモから、それを試してみましたが、 JSON上記のようなマッピングを取得できません、どのようにすることができます私はPHPで闊歩のUIに取り組んでいますし、私のような この配列jsonをswagger UIにマップする方法は?

以下
{ 
    "category": { 
    "id": 0, 
    "name": "string" 
    } 
} 

をJSONをマップしようとしています私はこのjsonマッピングを取得します。その注釈は何でしょうか?

マイ闊歩クラスは

/** 
    * @SWG\Definition(@SWG\Xml(name="MyFl")) 
    */ 
    class MyFl 
    { 

     /** 
    * @SWG\Property(format="int64") 
    * @var int 
    */ 
    public $id; 

    /** 
    * @SWG\Property(example="doggie") 
    * @var string 
    */ 
    public $name; 

    /** 
    * @SWG\Property(type="Category") 
    */ 
    public $category; 

    } 

ですそして、私のポストのAPI注釈がある助けてください。

/** 
    * @SWG\Post(
    * path="/docs/fl", 
    * tags={"MY"}, 
    * summary="Insert fl info", 
    * operationId="FL", 
    * produces={"application/xml","application/json"}, 
    * @SWG\Parameter(in="body",name="body",description="Insert fl info",required=true,@SWG\Schema(ref="#/definitions/MyFl") 
    * ), 
    * @SWG\Response(response="default", description="successful operation") 
    *) 
    */ 

そして、これによって私の好きなモデルスキーマを取得しています:

enter image description here

enter image description here

しかし、私はのようなJSONスキーマたい:

{ 
     "category": { 
     "id": 0, 
     "name": "string" 
     } 
    } 

が私を助けてください..

+0

これまでに試したことを投稿する必要があります。そうすれば、正しい答えを得ることができます。そうすれば、あなたはちょうど答えが与えられている場合よりも、答えをよく理解できます。 – Jason

+0

ok @Jason ...... –

答えて

1

免責事項:私が闊歩-phpの注釈で働いていたので、久しぶりなので、私は」ですこれを行うにはこれが最善の方法であるとは思わない。私の専門知識は、swagger-phpではなく、JSON Schemaにあります。

実際には、データ構造は2つのオブジェクトです。最初のものは、 "category"というプロパティを持つオブジェクトです。次に、 "category"の値は、 "id"と "name"という2つのプロパティを持つ別のオブジェクトです。私はこれらを2つの別々のオブジェクトとしてモデル化する必要があると確信しています。

/** 
* @SWG\Definition(@SWG\Xml(name="MyFl")) 
*/ 
class MyFl 
{ 

    /** 
    * @SWG\Property(type=Category) <-- Don't know if this is the right way to reference another schema. You will have to check the documentation. 
    */ 
    public $category; 

} 

/** 
* @SWG\Definition(@SWG\Xml(name="Category")) 
*/ 
class Category 
{ 

    /** 
    * @SWG\Property(format="int64") 
    * @var int 
    */ 
    public $id; 

    /** 
    * @SWG\Property(example="doggie") 
    * @var string 
    */ 
    public $name; 

} 

お役に立てば幸いです。

+0

申し訳ありませんが空ではありません。MyFl {} –

+0

@SWG \ Property(type = Category)の構文が間違っていると思ったら意味があります。 。カテゴリを参照するための正しい構文を見つけたら、うまくいくと思います。おそらく 'ref'属性がありますか? '@SWG \ Property(ref ="#/ definitions/Category ")'のようなもの? – Jason

+0

あなたのコメントを削除してから試してみました –

関連する問題