問題タブ [restler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 複雑なサービス構造
私は最初の赤面でRestlerが本当に好きですが、要件を実装できることを確認したかったので、最初の試みは不十分でしたが、それはおそらく私がそれを完全に理解していないためです。
私ができるようにしたいのは、次のような一連のサービスファミリを用意することです。
- ユーザー
- アプリ
- 行動
- 関係
そして、次のような休憩サービスを受けることができます。
- http://api.url.com/users/active
- http://api.url.com/users/disabled
- http://api.url.com/users/ {id} / Preferences
http://api.url.com/users/ {id} /goals
等
理想的には、クラス定義をサブタイプレベルでセグメント化する必要があります。したがって、上記の例では、サービスアーキテクチャの「ユーザー」部分でリクエストを処理する「preferences」クラスと「goals」クラスがあります。
自動ルーティングと手動ルーティング(@url演算子を使用)を試しましたが、機能しないようです。
php - API Explorer のドキュメントで「.json」が失われる
最初に、Restler の新しい API Explorer は素晴らしいと言っておきましょう。その追加について非常に満足しています。さて、典型的な方法で、私にとってうまくいかないことについて不平を言いましょう...
Restler が複数の形式で結果を返すことができるという事実は非常に優れた機能ですが、私は現在それを使用していません (返される形式として JSON のみを使用することを選択しています)。API Explorer では、サービス アーキテクチャの外観が複雑になるだけなので、.json へのすべての参照が表示されないようにしたいと思います。
簡単な例を次に示します。
}
この例では、API Explorer は次のようになります。
削除したい基本的な問題は、すべての「.json」参照を削除することです。オプションの .json なしの呼び出し構造は完全に正常に機能します。
また、.json を表示したい場合は、このポストアイテム修飾子がどこに表示されるかという二次的な問題があります。上記の例では、GET の「users」要素と PUT の「sensor」要素に .json がアタッチされています。これは HTTP 操作とは関係ありませんが、最初の変数の直前にある要素を選択しているように見えますが、これはユーザーにとって直感的ではない可能性があり、実際には Restler の要件ではありません (少なくとも、添付できるという私の印象です)。 .json をチェーンの任意の場所に配置して、目的の効果を得る)。
caching - Cherokee で動的 REST コンテンツをキャッシュする
Cherokee + PHP-FPM + MySQL を使用して、モバイル アプリ用のバックエンド サーバーを開発しています。Luracast Restler 2 を使用して RESTful API を提供しています。たとえば、クライアントが REST API を介してアイテムのリストを要求すると、このリスト (JSON 形式) が他のすべてのアイテムに対してキャッシュされるように、動的コンテンツをキャッシュする方法を教えてください。コンテンツの有効期限が切れるまでのクライアント要求? すべてのクライアントのグローバル キャッシュ メカニズム?
php - API エクスプローラーが URL パラメーターを使用していない
オプションのパラメーターが URL 変数として渡される RESTful API を作成しました。ブラウザーから直接実行すると正しく動作するように見えますが、API Explorer で実行しようとすると、パラメーターがリストされますが、実行時に無視されます。これを解決するためにどこから始めるべきかわかりません。どんな助けでも大歓迎です。
クラス定義は次のとおりです。
この場合、API エクスプローラーで $meta の値として「all」と入力できますが、応答は「リスト アクション (メタ レベルを通常に設定)」のままです。
アップデート:
この動作を明確にするために、API Explorers の出力と、サービスを直接呼び出したときに取得する出力を追加しています。
比較すると、実際に API を使用すると、正しい結果が得られます。これをChromeに入力します:
次の目的の出力が得られます。
「リストアクション (メタレベルを foobar に設定)」
php - RESTLER json の結果に名前を付ける方法
Web開発の初心者である私の用語を許してください。
私の質問を視覚化するには、以下を参照してください。
RESTLER が json を表示する方法は次のとおりです。
RESTLER で json の結果を表示するには、次のようにします。
php - Restlerでパスワード保護Webサービスを作成する
Restlerフレームワークを使用してWebサービスを開発することに成功しました。URLにアクセスすると、これらのメソッドにアクセスできることがわかります。
しかし、誰かがそのURLを知っていれば、彼は私のデータにアクセスできるので、私の質問はここにあります-
Restlerを使用してユーザー名/パスワードで保護されたWebサービスを追加するにはどうすればよいですか?
php - Restler 3 でボディにオプションのパラメータを作成する方法は?
JSON本体でいくつかのパラメータをオプションにしたい。phpdocs を作成し、パラメーターを null に設定しました。
しかし、レスラーは私に次のことを教えてくれます:
パラメータをオプションとして指定するにはどうすればよいですか?
installation - レストラー RC3 インストール
「make composer-install」を実行せずに、RC3 をホストに「コピー アンド ペースト」する方法はありますか? 残念ながら、私のホストはお粗末で、これを許可していません。
Restler 2 は、ファイルをディレクトリに配置し、いくつかの構成を変更するだけで簡単にインストールできました。それはもはやそうではないようです。Restler 2 は大好きですが、RC3 で提供される機能が必要です。
どんな洞察も大歓迎です!
php - RestException をスローするときにデータ オブジェクトを返すにはどうすればよいですか?
エラーメッセージを返すとき、エラーに結果も含めたいと思い(array)product::getNamingConvention()
ます。どうやってやるの?
エラー メッセージとデータを含むカスタム配列を返すこともできますが、その場合にステータス コードを 400 に設定する方法がわかりません。
Restler3を使用しています。
php - Restlerは常にサーバーでは見つかりませんが、ローカルマシンでは表示されません
私が行くとき
期待どおりの結果が得られます。ログインできるデータがいくつかあります。
しかし、私が行くとき
私はただ得る
現在、このプロジェクトに取り組んでいるのは2人ですが、ローカルマシンから実行する場合は、どちらも問題はありません。自分のマシンの外でアプリのテストを開始できるように、ホストされたサーバーにアプリを配置するところまで来ています。
コードは同じですが、サーバーもプルしているgitリポジトリを使用しているため、これを知っています。
私のマシンはMacで、バディはWindowsマシンで、ホストはLinuxボックスです。それらはすべてRestler3の要件であるmod_rewriteで動作するはずなので、これは実際には問題ではありません。
私が考えることができる他の唯一の詳細は、サーバーがPHP5.4.7を実行しているHostMonsterによってホストされているということです。
どんな助けでも大歓迎です。もっと情報が必要ですか?
===編集:これは私の.htaccessファイルです。また、サーバーはmod_phpではなくCGI/FastCGIを実行します
'fastcgi mod_rewrite'をグーグルで検索しましたが、これらのリンクはどれも役に立ちませんでした:P