0

首先让我说 Restler 中的新 API Explorer 很棒。对它的添加感到非常高兴。现在,以典型的方式,让我抱怨一些对我不起作用的东西......

Restler 可以返回多种格式的结果这一事实是一个非常好的功能,但我目前没有使用它(选择只使用 JSON 作为我的返回格式)。在 API Explorer 中,我希望所有对 .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 出现的人来说,还有一个次要问题是这个后项修饰符在哪里出现?在上面的示例中,您将 .json 附加到 GET 中的“用户”元素和 PUT 中的“传感器”元素。这与 HTTP 操作无关,而是似乎选择了紧接在第一个变量之前的元素,这对用户来说可能不直观,实际上在 Restler 中不是必需的(至少我的印象是你可以附加.json 链中的任何位置并获得所需的效果)。

4

1 回答 1

4

我们使用更安全的默认值,适用于所有人,但使其完全可配置。

如果您更喜欢.json在最后添加,请将以下内容添加到 index.php(网关)

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

如果您不想添加.json扩展,请将以下内容添加到 index.php

use Luracast\Restler\Resources;
Resources::$useFormatAsExtension = false;
于 2012-10-12T01:02:05.520 回答