2016-05-20 91 views
2

我正在使用Swagger PHP,並且大多數定義很容易定義,但我遇到了不屬於單獨類的一部分的特定數據問題,而是一個關聯數組。Swagger PHP - 如何定義嵌套屬性?

JSON響應我希望顯示(簡化了這個問題):

{ 
"id": 1, 
"status": "published", 
"gps": { 
    "lat": "0.00000000", 
    "lng": "0.00000000" 
} 

idstatus是很容易界定,但是gps是一個問題,因爲沒有獨立的類來定義它在模型中,它是一個數組。是否可以定義這個數組而不必創建一個虛擬類?

在當前模型文件中的註釋:

/** 
* @SWG\Definition(@SWG\Xml(name="Event")) 
*/ 
class Event extends BaseModel { 
    /** 
    * @SWG\Property(
    *  property="id", 
    *  type="integer", 
    *  example="103" 
    *) 
    * @SWG\Property(
    *  property="status", 
    *  type="string", 
    *  enum={"published", "draft", "suspended"} 
    *  example="published" 
    *) 
    */ 

} 

回答

3

面對完全一樣的問題,今天解決了吧!

這是揚鞭2.0

下面是我用來實現嵌套參數註釋嵌套..

/** 
* @SWG\Post(
* path="/getCustomerByEmail.php", 
* summary="List the details of customer by the email.", 
* consumes={"string"}, 
* produces={"application/json"}, 
* @SWG\Parameter(
*  name="email", 
*  in="body", 
*  description="Customer email to ge the data", 
*  required=true, 
*  @SWG\Schema(
*  @SWG\Property(
*   property="id", 
*   type="object", 
*   @SWG\Property(
*   property="abc", 
*   type="object", 
*   @SWG\Property(
*    property="inner abc", 
*    type="number", 
*    default=1, 
*    example=123 
*   ) 
*  ), 
*   @SWG\Property(
*   property="xyz", 
*   type="string", 
*   default="xyz default value", 
*   example="xyz example value", 
*  ) 
*  ) 
* ) 
* ), 
* @SWG\Response(
*  response=200, 
*  description="Details of the customer" 
* ), 
* @SWG\Response(
*  response=400, 
*  description="Email required" 
* ), 
* @SWG\Response(
*  response=404, 
*  description="Customer does not exist" 
* ), 
* @SWG\Response(
*  response="default", 
*  description="an ""unexpected"" error" 
* ) 
*) 
*/ 
/** 

The output is as below

注:我當時正在研究一個需要原始PHP的項目,但仍想使用Swagger的 。因此,我沒有創建模型,而是使用這種技術來製作嵌套參數。


編輯1:我不知道有什麼問題,UI是預期,但同時提出要求時,有在崗或有效載荷的數據。

編輯2:轉換後發送。 正常工作file_get_contents("php://input")