問題タブ [zend-rest-route]
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.
json - Zend Framework 1.9.2+ Zend_Rest_Route の例
Zend Framework 1.9でのZend_Rest_Routeの導入(および1.9.2 での更新) により、リクエストをルーティングするための標準化された RESTful ソリューションが用意されました。2009 年 8 月現在、その使用例はなく、リファレンス ガイドにある基本的なドキュメントのみです。
おそらく私が想定しているよりもはるかに単純ですが、次のようなシナリオでZend_Rest_Controllerの使用を示すいくつかの例を提供するよりも、有能な人たちを期待していました:
- 一部のコントローラー (indexController.php など) は正常に動作します
- その他は REST ベースのサービスとして動作します (json を返します)
JSON アクション ヘルパーは、リクエストに対する json レスポンスを完全に自動化および最適化するようになり、Zend_Rest_Route との併用が理想的な組み合わせになったようです。
php - 階層型ZendRESTルートを設定するにはどうすればよいですか?
Zend Frameworkを使用して、次のパターンで編成されたリソース上にRESTAPIのルートを構築しようとしています。
- http://example.org/users/
- http://example.org/users/234
- http://example.org/users/234/items
- http://example.org/users/234/items/34
Zend_Rest_Routeでこれを設定するにはどうすればよいですか?
bootstrap.phpファイルでユーザーリソース(users /:id)のルートを設定する方法は次のとおりです。
[私が理解している限り、これはキャッチオールルートであるため、users / 324 / items/34のパラメーターはid=324およびitems=34に設定され、すべてがユーザー(フロントモジュール)モデルにマップされます。そこから、itemsパラメーターをテストし、getリクエストでユーザー#324のアイテム#34を取得できると思います。] <===チェックしたところ、次のようには機能しないようです。
/ users / 234 / items/43へのアクセスと
Restコントローラーのgetアクションでは、次の出力が生成されます。
どういうわけか両方のIDが失われました...
誰?
php - レストとモジュールに関する Zend フレームワークの質問
みんな私のプロジェクトには次の構造があります。
今問題に。アクセスできないように見える UserController.php 内でいくつかのアクションを定義しました。たとえば、localhost/main/user/register にアクセスすると、これにアクセスできません。ただし、localhost/main/user を参照すると動作します。
それが何であるかはわかりませんが、私の勝手な推測では、Bootstrap.php と関係があると思われます。デバッグ中に、メインのbootstrap.phpで残りのルートの初期化をコメントしたところ、うまくいったようです。これにより影響を受けると思われるすべてのファイルを提供しました。それが何であるかを知ることができれば、それは素晴らしいことです。これを理解しようとして、すでに数日を費やしました。
Bootstrap.php
メイン/Bootstrap.php
メイン/コントローラー/UserController.php
アプリケーション.ini
php - ZendフレームワークRESTfulwebseriveロジックの使用法
zendフレームワークを使用してアプリケーションを構築しています。
問題は、REST以外のアプリ内でZend_Rest_Controllerと同じコントローラーロジックを使用する方法です。
たとえば、TwitterがZendFrameworkで作成されたとしましょう。彼らはおそらくAPIにZend_Rest_controllerとRouteを使用するでしょう。しかし、彼らは彼らのウェブサイト(明らかに同じAPIロジックを使用している)に何を使用しますか?彼らは、RESTリクエストを実行するだけのまったく新しいアプリケーションを作成するでしょうか?その過負荷ではありません。
[編集]
ウェブアプリがhttp_clientクラスを介してAPIを呼び出してデータを取得すると、サーバーに別のリクエストが送信されます(パフォーマンスが低下し、応答が遅くなります)。別のリクエストをしたくなく、APIにあるのと同じビジネスロジックを使用したいと思います。
ありがとう、
Venu
api - 特定のコントローラーの Zend_Rest_Route
特定のコントローラー用に Zend_Rest_Route を作成しようとしています。特定のコントローラー (UploadAPI) が要求された場合を除いて、サイトの残りの部分を正常に動作させたいです。構文は次のようになるはずですが、検証に苦労しています。例はすべてモジュールに関係していますが、私はモジュールを持っていません。これは正しいです?
リンクはこちら
http://weerophinney.net/matthew/archives/228-Building-RESTful-Services-with-Zend-Framework.html
モジュールの例を示しますが、モジュールはなく、「デフォルト」がモジュール名であると想定しています。
php - 階層のある Zend レスト ルート
現在、イベント コントローラー (/event) に対して機能する REST ルートがあります。EventSignUp コントローラーでイベント サインアップを処理し、このコントローラーを /event/signups ルートにマップしたいと考えています。
Zend Frameworkのドキュメントには、URL /event/signup/:id を Event_SignupController にマップする必要があると記載されています。しかし、これは私にはうまくいきません。
Bootstrap クラスのすべてのコントローラーにデフォルトの REST ルートを設定します。
何か不足していますか、それともドキュメントが間違っていますか? ドキュメントが間違っている場合、目的の目標を達成するためにどのようなアプローチを取る必要がありますか?
余談ですが、既存のコントローラーの多くはデフォルトの REST ルートに依存しているため、既存のすべてのコントローラーに新しいルートを実装する必要がないソリューションがあれば便利です。
編集: ドキュメントには、 /product/ratings が Product_RatingsController に変換されると記載されています。これは Products モジュールの RatingsController を意味します。すべてのコントローラがデフォルト モジュールに配置されているため、必要な動作が Rest Route でサポートされていません。
したがって、これは私の質問を変更します.デフォルトのRestルートへの既存のコントローラーの依存関係に影響を与えることなく、私の望ましい動作を達成することは可能ですか? もしそうなら、どのように?そうでない場合、私にとって最善のアプローチは何ですか?
php - Rest を含むサブフォルダーの Zend Framework ルート
現在のアプリケーション セットアップでは、標準コントローラーとレスト コントローラーのルーティングを作成しようとしています。
これが私の構造です。
admin サブフォルダー内のコントローラーを呼び出すには:
これを次のように変更します。
私の現在のセットアップでは:
ここでの問題は、API フォルダー内の一部のコントローラーが Rest であるが、すべてではないということです。
/api/acl/role は、期待どおり indexAction に正しくルーティングされています。
/api/acl/role/1 は、getAction にルーティングされるアクション「1」を探しています。
モジュール Bootstrap の Zend_Route_Rest をこれらのルールセットに統合するにはどうすればよいでしょうか。
すべての助けをいただければ幸いです。
zend-framework - 特定のコントローラーへの zend rest コントローラーのルーティング
私は zend フレームワークにかなり慣れていません。Zend_Rest_Controller を使用して RESTful コントローラーを作成しようとしています。優れたチュートリアル http://www.techchorus.net/create-restful-applications-using-zend-frameworkから作成しました 。完全に機能します。そこで、既存の zend アプリケーションに追加しました。1 つのコントローラーを RESTful にしたかったので、ブートストラップで必要な変更を行いました。
MyserviceControllerから index メソッドを呼び出すことになっている URL http://localhost/projectname/public/index.php/myserviceを使用してサービスにアクセスしようとすると、サーバーは 500 内部サーバー エラーをスローします。アプリケーションのフォルダ構造は次のとおりです。
これはプロジェクトのapplication.iniです
これはMyserviceController.phpのコードです
zend-framework - デフォルトのコントローラーのルーティングを台無しにするzendrestroute
Zend_Rest_Controllerを拡張してRESTfulサービスを実装しました。サービスは素晴らしいです。実際にRESTfulな動作をするコントローラーは1つだけです。そこで、ブートストラップにそのコントローラーだけの残りのルートを追加しました。
ポータルzendアプリを実行すると問題が発生します。インデックスコントローラーのレイアウト内のリンクは、URLを作成するときにアクションパラメーターを見逃しています。たとえば、ネットワークコントローラのアクションホームページのインデックスレイアウトのリンクは次のとおりです。
これにより、「localhost / projectname / public / network / homepage」が返され、代わりに「localhost / projectname / public/network」が返されます。この動作は、レイアウトがデフォルトのコントローラー、つまりIndexControllerによってロードされた場合にのみ発生します。ブートストラップからzendrestルートを削除すると、ルーティングの問題はなくなります。残りのリクエストがどのコントローラーにルーティングする必要があるかについて言及している限り、問題はありません。ただし、これはデフォルトのコントローラールーティングに影響を与えています。
php - Zend Framework - Zend_Rest_Route の追加時にオーバーライドされるカスタム定義のルート
というモジュールで RESTful API を公開するアプリケーションを作成していますapi
。Zend_Controller_Router_Rewrite
他のモジュールについては、カスタム定義されたルートを持つオブジェクトを返す小さなクラスを作成しました。
デフォルトのモジュールには、次のルートがあります。
今、私のBootstrap
ファイル file には次のものがあります。
もちろん、残りのルートの追加をスキップすると、デフォルトのモジュールですべてが正常に機能します。しかし、RESTful ルートを追加すると、ルーターで定義されたルートがオーバーライドされる (?) ため、モジュールのコントローラーのindex
アクションの現在のルート ( ) は Zend_Rest_Route のインスタンスになります。したがって、ルート設定ファイルで定義されたカスタム ルートにアクセスしようとすると、次のようになります。index
default
$this->getFrontController()->getRouter()->getCurrentRoute();
get
要求アクション ( ) が存在しないという 404 エラーが表示されます。
私はすでにドキュメントを調べましたが、この動作を示唆するヒントは見当たりませんでした。
ヘルプとガイダンスをいただければ幸いです。