Во-первых, позвольте мне сказать, что новый 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 в любом месте цепочки и получить желаемый эффект).