問題タブ [laminas-api-tools]
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 - POST リクエストのネストされたパラメータ/値
敏捷性リソースへの POST リクエストでネストされた/複雑な値を処理する良い方法を考えています。
たとえば、注文には、注文を作成するために使用される単一の POST 要求に注文項目のコレクションが含まれる場合があります。order と order-item の両方がリソースとして存在します。ただし、注文エンティティと注文アイテム エンティティを作成するリクエストは 1 つだけにしたいと考えています。リソースでそれを処理することは問題ではありませんが、apigiliy UI を使用して、または構成を使用して、そのリソースを構成する方法 (注文場所と呼びましょう) を疑問に思います。バリデーターとフィルターの適用は、アジリティの重要な機能の 1 つであり、複雑なリクエスト データに対しても、引き続き使用したいと考えています。
質問する前に、アンダースコアを使用して値のスコープを区切ります。たとえば、order_comment と order_item_comment はオプションではありません。
何か案は?:)
追加: サンプルの json リクエスト ペイロードは次のようになります。
zend-framework2 - ZF2 - アジリティが新しい API を作成しない
アプリで Apigility を正常に実行しており、それを新しいアプリに使用することにしました。私が困惑している問題は、新しいAPIの作成を拒否し、「新しいAPIの作成」画面で「ハング」しているように見えることです。
これがハングする場所のスクリーンショットです: http://screencast.com/t/7CI3TN38Fm
これをバグテストする方法についてのアドバイス、または同様の問題を経験した人はいますか?
編集
コンソールを確認すると、次のエラーが表示されます。
http://screencast.com/t/gIbZEWMwo
編集
さらに調査した結果、ZfcRbac が問題の原因であるように見えます... API を作成するには、コメントアウトする必要があります。
これを回避する最善の方法がわからない...私が知ったら、調査して回答を投稿します。
php - HEAD リクエストで 404 で応答できない
HEAD
アジリティでリクエストを実装するときに、404 not found で応答できません。デフォルトでは、 Apigility はHEAD
リクエストと同じリソース メソッドでGET
リクエストを処理します。これがfetch($id)
方法です。
私のリソースは次のようになります。
を使用して REST クライアントでリソースにアクセスするとHEAD
、200 OK が返されます。ApiProblemResponse
メソッドから が返されていることを確認できます。を使用してリソースを要求するGET
と、予想どおり 404 応答が返されます。
HEAD
でのとGET
の扱いに関係しているようAbstractRestfulController
です。関連するコードのコード スニペットを次に示します。
get 実装では、resourceListener メソッドからの結果がアプリケーションの応答として返されます。これは私には正しいようです。head の実装では、MvcEvent 応答が使用されるためApiProblemResponse
、resourceListener から返される I は無視されます。MvcEvent
からにアクセスできませんResourceListener
。
HEAD
リクエストに対して 404 を返すことができる解決策はありますか?
php - リモート認可サーバーを備えた OAuth2 リソース サーバーとしての俊敏性
Apigility で構築された既存の REST API に OAuth2 サポートを追加する必要があります。Apigility には OAuth2 モジュールが含まれているため、単純にそれを使用するのが最も簡単な方法のようです。
ただし、ドキュメントには「Apigility では、Resource Server と Authorization Server は同じ API サーバーから配信されます」と記載されています。API は、個別に構築している新しい OAuth2/OpenID サーバーを利用する必要があり、すべての API に使用されるため、これはうまくいきません。
したがって、質問は次のとおりです。
外部 OAuth2 サーバーで Apigility をリソース サーバーとして使用することは可能ですか?
誰かがこれを行った、またはこれを試みたことがあり、その経験を共有できますか?
他の考え?ドキュメントやチュートリアルがどこかにあるのではないでしょうか? (何も見つかりませんでした)
ありがとう!
doctrine-orm - Doctrine - クエリ ビルダーを使用するときにコレクションをハイドレートする方法
私が尋ねた以前の質問は、Doctrine とクエリ ビルダーを使用するときに結果セットをハイドレートすることに関するものでした。私の問題は、配列とそのサブセットを返す方法でした:
これは単一の結果セットに対するもので、答えは非常に簡単でした:
私の次の質問は、コレクションに対してこれとまったく同じことを行う方法ですか? これは私が試したことです:
このソリューションで私が直面している問題は、結合テーブルが作成されておらず、空の結果のコレクションになってしまうことです。
StoneCollection クラスは、単純にページネーターを拡張します。
おそらく最良の方法は、配列を取得して配列をページングすることだと思いますか?
編集::
DBに2回アクセスしたので、あまり熱心ではありませんが、これは機能しています。最初に配列を作成し (結果セット全体であり、一部のアプリケーションでは非常に大きくなる可能性があります)、2 回目に結果をページングし、処理のために ApiGility の HAL に返します...
理想的には、これは一度に実行する必要がありますが、単一のインスタンスで結果を水和する方法がわかりません...