問題タブ [dingo-api]
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.
laravel - Dingo/Api でデフォルトのエラー ハンドラを変更するにはどうすればよいですか?
Laravel フレームワークと Dingo API ライブラリを使用して REST API を構築しています。例外が発生したときにデフォルトのエラーハンドラーをカスタマイズする方法がわからないことを除いて、すべてがうまく機能します。
たとえば、私のコードがエラーを実行した場合、応答は次のようになります。
この応答を独自の形式に変更するにはどうすればよいですか?
laravel-5.2 - Dingo API 内部投稿リクエストが Laravel 5.2 で機能しない
最新の Laravel 5.2 と Dingo dev/master (commit 904d4e4e) を使用した内部投稿リクエストで問題が発生しています。Get リクエストは正常に機能しますが、どこからでも (routes.php およびコントローラーから) ポスト リクエストを試行すると、「引数 1 がありません」というエラー例外が発生し続けます。
私の App Controller はすべて、次のように設定されている Base Controller を拡張します。
管理サブドメイン「modelExample」コントローラーの例:
「modelExample」API コントローラーの例:
私のroutes.php
Admin Controller の store メソッドで何を使用しても、次のエラーが発生します。
Missing argument 1 for App\Api\Controllers\ApiModelExampleController::store()
私が試してみました:
また、テストエンドポイントを使用してルートファイルから直接試しました。すべてのミドルウェアをオフにしました...何をしても、ペイロード配列が認識されません。
これは Laravel 5.2 と 5.1 の問題ですか? 完全に明らかな何かを見逃していますか(...頻繁に起こることが知られています)?どうすればこれを解決できますか? よろしくお願いします!:-)
php - Laravel 5.2 Dingo/api リソース グループ
タイトルの通り、dingoでリソースグループを作る方法を模索中です。
laravel で説明されているように、ルートでリソース グループを作成する正しい方法は次のとおりです。
dingo/api と似ていますか? 私はただ言うことができます:
この方法で実行すると、型エラーが発生します。
Dingo\Api\Routing\Router::resources() に渡される引数 1 は、配列型である必要があり、指定された文字列
resources
これは、必要なすべての呼び出しの配列を作成してからメソッドに渡す必要があるということですか?
laravel-5 - Laravel 5 + DingoApi ページネーション
ページネーションを使用してユーザーのメッセージ スレッドを返す Laravel と DingoAPI を使用して API を開発しています。
そして、私はこの種の応答を受け取ります:
応答の一部のフィールドを削除するにはどうすればよいですか? データと next_page_url だけが必要です …</p>
私はこの方法を試しました:
ただし、null 値のみが返されます。Dingo Api が舞台裏で何らかの作業を行っていると思います…</p>
php - Dingo を使用した Laravel 5 API
Laravel 5 と Dingo を使用して API を構築しています。ルートが定義されていないリクエストをキャッチするにはどうすればよいですか? API が常に特別にフォーマットされた JSON 応答で応答するようにします。
たとえば、ルートがある場合: $api->get( 'somepage','mycontroller@mymethod');
ルートが定義されていないと仮定して、誰かが同じ uri への投稿を作成した場合、どのように処理すればよいですか?
基本的に何が起こっているかというと、Laravel が MethodNotAllowedHttpException をスローしているということです。
私はこれを試しました:
しかし、 MethodNotAllowedHttpException がスローされ続けます。
これを行う方法はありますか?ミドルウェアを使用していますか? キャッチオールルートの他の形式はありますか?
編集:
これを app\Exceptions\Handler.php に追加しようとしました
効果はありませんでした。私はダンプオートロードなどを行いました。dd($e) を追加しても効果はありませんでした。これは私には奇妙に思えます。
編集 - 解決策
理解した。ジェームズの答えは正しい方向に考えさせてくれましたが、何が起こっていたのかというと、ディンゴがエラー処理をオーバーライドしていたということです。このエラーに対する応答をカスタマイズするには、app\Providers\AppServiceProvider.php を変更する必要があります。このようにブート関数を作成します(デフォルトでは空です)
正しい方向に進んだので、ジェームズの答えを受け入れます。
これが誰かに役立つことを願っています:)これは私の夜の大部分を占めました....
laravel - Lumen/Laravel セッションなしで Lumen + Dingo + JWT を使用する
次のレポに基づいた Lumen/Dingo 実装を使用しています Lumen -dingo。これを既存のフレームワークの上に構築しているため、いくつかの小さな問題が発生します。
私たちのフレームワークは、アプリケーション全体で独自のセッション オブジェクトを使用します。これを変更するオプションはありません。理想的には、Lumen + Dingo + JWT のセットアップを変更して、セッションを使用できるようにすることです。
ここで何をするのが最善なのかわかりません。考えられる解決策は次の 3 つです。
- フレームワーク セッションを開始するカスタム セッション ドライバーを Lumen で作成します。
- Lumen セッションを完全に無視する
通常のセッションの隣にルーメン セッションを使用すると、両方が同時にアクティブになりますが、これが機能するかどうかはわかりません。
/li>
これらの詳細を編集しようとしていますが、エラーが発生し続けます。私が何か間違ったことをしているだけなのか、それとも完全に間違った道を進んでいるのかもわかりません。
javascript - キャメルケースとして雄弁なモデル属性 [Laravel 5.2] [Dingo API]
私たちの Eloquent モデルには、Laravel のスネーク ケースの慣習に従った属性があります。
など_ first_name
_last_name
created_at
私のフロントエンド(反応)はjavascriptキャメルケース標準に従いますが。
など_ firstName
_lastName
createdAt
API 応答を送信するときに、すべての属性をキャメル ケースに変換する簡単な方法はありますか?
Larave 5.2 と Dingo API パッケージを使用しています。
アップデート
受け入れられた回答に続いて、カスタム応答形式のアプローチを使用しました。実装については、次の要点を参照してください (単体テストを含む)。
https://gist.github.com/andrewmclagan/c5e0fe601d23f3b859b89a9f8922be68