Потеря .json в документации API Explorer

Во-первых, позвольте мне сказать, что новый API Explorer в Restler великолепен. Очень рад его добавлению. Теперь, в типичной манере, позвольте мне пожаловаться на то, что у меня не работает...

Тот факт, что 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 отображался, есть вторичная проблема: ГДЕ появляется этот модификатор пост-элемента? В приведенном выше примере у вас есть .json, прикрепленный к элементу «users» в GET и к элементу «sensor» в PUT. Это не имеет ничего общего с операцией HTTP, а скорее, кажется, выбирает элемент, который непосредственно предшествует первой переменной, которая может быть не интуитивно понятной для пользователя и на самом деле не является требованием в Restler (по крайней мере, у меня сложилось впечатление, что вы можете прикрепить .json в любом месте цепочки и получить желаемый эффект).


person ken    schedule 11.10.2012    source источник


Ответы (1)


Мы используем более безопасные значения по умолчанию, которые будут работать для всех, но сделали их полностью настраиваемыми.

если вы предпочитаете, чтобы .json добавлялось в конце, добавьте следующее в index.php (шлюз)

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

Если вы предпочитаете не добавлять расширение .json, добавьте следующее в index.php

use Luracast\Restler\Resources;
Resources::$useFormatAsExtension = false;
person Community    schedule 12.10.2012