最初に、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 を表示したい場合は、このポストアイテム修飾子がどこに表示されるかという二次的な問題があります。上記の例では、GET の「users」要素と PUT の「sensor」要素に .json がアタッチされています。これは HTTP 操作とは関係ありませんが、最初の変数の直前にある要素を選択しているように見えますが、これはユーザーにとって直感的ではない可能性があり、実際には Restler の要件ではありません (少なくとも、添付できるという私の印象です)。 .json をチェーンの任意の場所に配置して、目的の効果を得る)。