首先让我说Restler中的新API资源管理器很棒。对它的添加感到非常高兴。现在,以典型的方式,让我抱怨一些对我不起作用的事情......
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 Explorer如下所示:
我想删除的基本问题是删除所有“.json”引用作为调用结构而没有可选的.json工作得非常好。
另外,对于那些想要.json出现的人来说,这个后期项目修饰符出现了WHERE的次要问题?在上面的示例中,您将.json附加到GET中的“users”元素和PUT中的“sensor”元素。这与HTTP操作无关,而是它似乎选择紧接在第一个变量之前的元素,这可能对用户来说不直观,实际上并不是Restler的要求(至少我的印象是你可以附带.json链中的任何地方都能获得理想的效果。)
答案 0 :(得分:4)
我们使用更安全的默认设置,适用于所有人,但使其完全可配置。
如果您希望在最后添加.json
,请将以下内容添加到index.php(网关)
use Luracast\Restler\Resources;
Resources::$placeFormatExtensionBeforeDynamicParts = false;
如果您不想添加.json
扩展名,请将以下内容添加到index.php
use Luracast\Restler\Resources;
Resources::$useFormatAsExtension = false;