問題タブ [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.
api - 私の Web アプリ API の OAuth2 grant-type
私は、ユーザーが必要に応じて使用できる生の JSON データを提供できる Web アプリケーションの API に取り組んでいます。OAuth2 実装に付属する Apigility を使用しています。
ユーザーがアプリの画面にアクセスして、割り当てられた資格情報を取得し、それを使用して API を使用できるようにしたいと考えています。ユーザーごとに client_id を作成する必要がありますか? または、すべてのユーザーが同じクライアントを共有し、異なるユーザー名/パスワードを使用できますか?
また、どの oauth grant-type が最も適しているかもわかりません。サードパーティが関与していないため、「パスワード」付与タイプで十分なようです。しかし、リクエストのヘッダーに「client_id」と「client_secret」を提供する必要がありますか?
クレデンシャルを提供し、RESTful API を自分でのみ使用する場合にユーザーを認証する最良の方法は何ですか?
前もって感謝します。
php - Apigility の方法に従ってネストされたデータを検証する方法は?
ネストされたデータの検証について、1 つ小さな質問がありjson
ます。たとえば、次のようなPATCH
リクエストがあります。
some_property
このネストされたデータにフィルターとバリデーターを設定する適切な方法とおそらく正しい方法は何another_property
ですか?
答えてくれてどうもありがとう
php - ZF2: forward プラグインを使用しているときに、すべてのコントローラーの Request オブジェクトをグローバルに変更する方法は?
テストとパフォーマンスの目的で forward プラグインを使用しています。最初にIndexController
データは通常の POST リクエストを通過します。そこで、この要求と POST データを取得し、それにもう 1 つのパラメーターを追加する必要があります。
フォワードプラグインを使用するよりも
そして、私がこれにいるPortController
とき、私はリクエストの POST データを再度取得し、そこに私の変更を含める必要がありますIndexController
しかし、そうではありません。変更なしでリクエスト オブジェクトを取得します。
現在のリクエストプロセスですべてのコントローラのリクエストをグローバルに変更する方法は?
私はすでに何をしようとしていますか?
そして、このすべての差異は機能しません。
私はすでにこの回答を読んでいます ZF2: How to pass parameters to forward plugin which can then get in the method I forward to?
しかし、params を介してデータを渡したくありません。変更要求が必要です。
UPD
しかし、今私はテストされており、受信側でこの方法でリクエストを取得しようとしたためかもしれません
でもこんな風に使えばいいのに
これは、Apigility RPC サービスを使用し、JSON 形式で投稿データを POST ではなく Request Content フィールドに配置したためです。そして別の場所で私はそれを手に入れようとしました
しかし、私が POST を使い始めた後、それが混乱し始めた理由です。
zend-framework2 - ZF2 - ルートのフォーマット
私は通常、ZF2 でルートを次のようにフォーマットします: /name/to/route
現在、API ルートで同じことを行っていますが、エンコードされた URL や配列などのデータを含めるのに苦労していることに気付きました。
このようなルートの例を次に示します。
以下はスラッシュを表しているため、ルートが機能しません: %3A%2F%2
ルートを次のようにエンコードする必要があると考えています。
これに対処するには、module.config ファイルをどのように構成しますか?
現在、apigility で次のように設定されています。
編集
次のようにして、ルートをエンコードして GET パラメータを含めました。
これにより、次のようになります。
ただし、これは「要求された URL をルーティングで一致させることができませんでした」という理由で機能しなくなります。エラー。
含まれる URL のスラッシュの解釈により、ルートは不明です。
おそらく問題は、URL がどのようにフォーマットされ、パラメーターとして含まれているかに関係しているのでしょうか?
error-handling - Apiglity には組み込みのエラー処理とログ機能がありますか?
私は API プロジェクトに取り組んでおり、エラー処理とロギングの戦略/概念を決定する必要があります。最初のステップとして、Apigility が独自のロギング機能を提供しているかどうかを確認したいと思います。
正しく表示された場合、Apigility は REST 固有のエラーに対して最小限のエラー処理のみを提供します (Apigility documentation -> Error Reporting )。それでおしまい。そのため、限られたエラー処理のみが行われ、ログは記録されません。右?しかし、おそらくそれは間違っていて、必要な機能が見つからないだけです。では、エラー処理メカニズムは提供されていますか? Apigility にはロギング メカニズムが用意されていますか?
error-handling - Apigility で validation_messages と display_exceptions を使用する方法は?
Apigility のドキュメント ( Error Reporting ) から:
API 問題の仕様を使用すると、問題とその発生理由をさらに明確にするのに役立つと思われるその他の追加フィールドを作成できます。Apigility はこの事実を利用して、いくつかの方法でより多くの情報を提供します。
- 検証エラー メッセージは、
validation_messages
キーを介して報告されます。display_exceptions
ビュー構成設定が有効になっている場合、スタック トレースはtrace
およびexception_stack
プロパティを介して含まれます。
ドキュメントのこの部分がわかりません。設定との目的と使用方法は何ですか?validation_messages
display_exceptions