問題タブ [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.
php - Dingoを使用したLaravelのモデルのクエリ結果がありません - 失敗時にRESTful応答を行う方法は?
Dingo APIに基づいて Laravel で API を作成しています。
私のルートには、次のものがあります。
そしてMyControllerで:
これは、 が動作することを意味しapi.domain.com/object
ますMyController@index
。データベースに項目がないため、空の json 配列が出力されます[]
。
api.domain.com/object/123
を呼び出しますMyController@show(123)
。これはhttps://github.com/dingo/api/wiki/Responsesによるものです。ただし、データベースに結果がないため、次のようになります。
代わりに、これにより適切な RESTful エラーが発生することが期待されます。それ、どうやったら出来るの?
MyObject のコードは特別なものではなく、 を拡張する空のクラスIlluminate\Database\Eloquent\Model
です。
私は Laravel 4.2 を使用しています。5 は Dingo ではまだサポートされていません。
php - oAuth アクセス トークンを取得しようとしたときにクライアント認証に失敗しました
Graphデータベースをサポートするために、 dingo/apiとNeoEloquentで構築されたLaravel 4.2アプリに取り組んでいます。おそらくlucadegasperi/oauth2-server-laravelを使用して OAuth を実装したいのですが、これは NeoEloquent では機能しません。データベースにクライアントを作成した後、Authorizer::issueAccessToken() を試行すると、次のエラーが発生します。
Graph データベースをサポートする、または NeoEloquent と連携する Laravel の OAuth 実装が見つかりません。誰もこれを解決する方法について何か考えがありますか?
アップデート
私の composer.json の一部:
私のモデルはすべて、NeoEloquentで動作するように関係定義にいくつかの変更を加えたlaravelbook/Ardentのコピーである、私自身のNeoArdentを拡張しています。
app/config/packages/lucadegasperi/oauth2-server-laravel/oauth2.php の付与タイプ
app/config/packages/dingo/api/config.php での認証プロバイダーの定義
認証コードを取得する前に、これを一時的に使用してクライアントを作成します。
その後、私はこれを行います:
上記のエラーが表示されます。
これが私の問題を理解するのに少し役立つことを願っています。
laravel - dingo/api Laravel 4.2 の設定 oauth2 にエラー引数 1 が渡されました
私はビーングエンです。
私は Laravel フレームワークの初心者です。だから私はウェブサービスRestAPI(laravel 4.2)を構築したい。https://github.com/dingo/apiと oauth2 lucadegasperi/oauth2-server-laravel を使用して API を保護しています。しかし、すべての構成ファイルを完了したら、Postman ( https://www.getpostman.com/ ) を使用してリクエストを送信します。
エラーがあります:
だから、この問題を解決するのを手伝ってください:)。これは私の設定ファイルです:
app\routes.php
app\config\packages\dingo\api\config.php
app\config\packages\lucadegasperi\oauth2-server-laravel\oauth2.php
これが私の問題です:
私を助けてください:)、ありがとうございました:)
rest - phpunit と http コンテンツ タイプ
Laravel (Dingo) で API をビルドしましたが、完全に動作します。ただし、API を単体テストするための phpunit の実装に問題があります。
その間、私のAPIエンドポイントはこのコントローラー関数を指しています
ただし、API がペイロードを認識できないため、常に失敗します。Input::getContent() は JSON を返しますが、Input::only() は空白を返します。これは、要求ペイロードのコンテンツ タイプが JSON の場合にのみ Input::only() が値を返すためです。
では、上記の phpunit コードを content-type application/json を使用するように設定するにはどうすればよいですか? 何か関係があるのではないかと推測しているのですが$server
、よくわかりません
編集:実際には、私の最初の考え方には2つの問題があります
- Input::getContent() は 6 番目のパラメーターを入力したため機能しますが、Input::only() は 3 番目のパラメーターを入力しなかったため機能しません。@shaddyに感謝
- phpunitリクエストヘッダーでコンテンツタイプを設定する方法はまだ答えられていません
ありがとうございます
laravel - Laravel 5.1、Dingo - ネストされたトランスフォーマー
関係の使用のためにトランスフォーマーをネストするエレガントな方法はありますか? コレクションに条件付きで関係モデルを含めることができる REST インターフェイスを構築しようとしています。これまでのところ、私はわずかに成功していますが、トランスフォーマーに関しては少し壊れているようです (私は Laravel 5.1 と Dingo に少し慣れていないことを認めます)。これを可能な限り DRY に保つことを検討しているので、関係や属性が将来変更された場合でも簡単に変更できます。
たとえば、ユーザーが 1 つ以上のメッセージを受信する可能性がある (ユーザー hasMany 受信メッセージ) という単純なシナリオでは、UserTransformer で次のことができます。
この場合、関連する受信メッセージに MesagesTransformer をネスト/適用して出力フォーマットを設定し、すべての REST 出力がすべての関係で一貫性を保つようにします。これは可能ですか?ありがとう!
php - Laravel サービスプロバイダー
以前は、美しく機能する修正版の Dingo サービス プロバイダー (Laravel 4.2 を使用しています) を使用していました。しかし、しばらくすると(いくつかの作曲家の更新)、もう動作しないようです。登録されていないだけです。var_dump
私はいくつかまたはメソッドに入れようとしましたがecho
、何もありません__construct
私が行う唯一の違いは、より多くの例外タイプをキャプチャすることです
私のapp.php
私のサービスプロバイダー
私のハンドラー
誰かが間違っている可能性があることについて正しい方向に向けることができますか?
編集:作曲家とpsr-4に関係があるとますます確信しています
以下のcomposer.jsonについてどう思いますか、それは機能していました
私のサービス プロバイダーとハンドラーは app/customPackages フォルダーにあります
php - Laravel 5 Dingo API コントローラー
Laravel 5 Dingo API パッケージを使用して REST API を実装しようとしています。
これは私のルーティングコードです:
これは私のエラーコードです:
では、コントローラの正しいパスを見つけるには、コントローラ ファイルをどこに配置すればよいでしょうか。
ファイルをapp/http/controllers/Api/V1/
ディレクトリに配置しましたが、まだこの種のエラーが発生しています。
Laravel には Dingo API 0.10 を使用しています。
php - dingo/api と laravel 5.1 で API を作成すると、dingo のルートが機能しない
dingo と laravel 5.1 でテスト API を作成していますが、コードが期待どおりに機能しない理由がわかりません。これは単なる例ですが、うまくいきません。助けてください。これは私のルートコードです:
そして、これは私の TestController コードです:
非常に基本的ですが、Postman から取得しようとすると機能しません。これらのコードは次のような jason を返します。
よろしくお願いします。