2016-08-03 11 views
0

내가 PHP에서 자신감의 UI로 일하고 나는 자신감의 UI 데모에서 그것을 시도이 배열 json 매핑하는 방법을 swagger UI에서? 어떻게 할 수

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

아래 같은 JSON을지도하려고하지만없는이 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에 있습니다.

데이터 구조는 실제로 두 가지 개체입니다. 첫 번째 속성은 "category"속성을 가진 개체입니다. 그러면 "category"의 값은 "id"와 "name"의 두 가지 속성을 가진 또 다른 객체입니다. 이 두 개의 객체로 모델링해야한다고 확신합니다.

/** 
* @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

귀하의 의견을 삭제 한 다음 –