2012-10-11 171 views
0

首先讓我說Restler中的新API Explorer非常棒。非常高興它的增加。現在,以典型的方式,讓我抱怨是不是爲我工作的東西...丟失API Explorer文檔中的「.json」

是Restler可以返回多種格式的結果事實上是一個很不錯的功能,但我目前沒有使用它(選擇只使用JSON作爲我的返回格式)。在API資源管理器中,我希望所有對.json的引用都不要顯示出來,因爲這會使服務體系結構的外觀複雜化。

這裏有一個簡單的例子:

class Users { 
/** 
* Preferences 
* 
* Preferences returns a dictionary of name-value pairs that provide input to applications that want to make user-specific decisions 
* 
* @url GET /{user_id}/preferences 
**/ 

function preferences ($user_id , $which = 'all') { 
    return "$which preferences for {$user_id}"; 
} 

/** 
* GET Sensors 
* 
* Get a list of all sensors associated with a user. 
* 
* @url GET /{user_id}/sensor 
**/ 
function sensor ($user_id) { 
    return "sensor"; 
} 

/** 
* GET Sensors by Type 
* 
* @param $user_id The user who's sensors you are interested in 
* @param $type The type of sensor you want listed. 
* 
* @url GET /{user_id}/sensor/{type} 
**/ 
function sensor_by_type ($user_id, $type) { 
    return "specific sensor"; 
} 


/** 
* ADD a Sensor 
* 
* @param $user_id The user who you'll be adding the sensor to 
* 
* @url POST /sensor 
**/ 
function postSensor() { 
    return "post sensor"; 
} 

}

在這個例子中,API瀏覽器看起來是這樣的: enter image description here

我想刪除的基本問題是刪除所有「 .json「引用作爲調用結構而沒有可選的.json工作非常好。

此外,對於那些想讓.json顯示出來的問題,這個post-item修飾符會出現在WHERE中嗎?在上面的示例中,您將.json附加到GET中的「users」元素以及PUT中的「sensor」元素。這與HTTP操作無關,而是它似乎選擇了第一個變量之前的元素,這對用戶來說可能並不直觀,實際上並不是Restler中的一項要求(至少它的印象是您可以參與.json鏈中的任何地方,並獲得所需的效果)。

回答

4

我們正在使用更安全的默認設置,它適用於所有人,但使其完全可配置。

,如果你喜歡.json在末尾要添加,添加以下的index.php(網關)

use Luracast\Restler\Resources; 
Resources::$placeFormatExtensionBeforeDynamicParts = false; 

如果你不喜歡添加.json擴展,添加以下的index.php

use Luracast\Restler\Resources; 
Resources::$useFormatAsExtension = false; 
+0

完美,謝謝! – ken