Laravel の雄弁なモデルと Swagger openApi アノテーションの問題
P粉178894235
P粉178894235 2023-12-31 19:41:40
0
1
524

つまり、私のユーザー モデルには、ユーザーのフルネームを返す関数 fullname があります。 リーリー

期待通りに動作しました。モデルに OpenAPI アノテーションを追加したいと思います。 これが私がやったことです:

リーリー

この時点で、この機能は期待どおりに動作しなくなります:

リーリー

null 値を返さなくなりました。

質問: コメントを保持しつつ、関数を動作させたいと考えています。

注: eloquent ex 経由でユーザーにアクセスした場合。 ( User::all()->first(); ) 姓名は取得できましたが、フルネームは取得できませんでした。助けてくれてありがとう

P粉178894235
P粉178894235

全員に返信(1)
P粉955063662

https://github.com/DarkaOnLine/L5-Swagger/issues/157

この質問によると: モデルに属性を定義すると、多くの雄弁な問題が発生します

この問題を解決する 3 つの方法を見つけました:

オプション 1: 最小限のリファクタリングを行う必要があります

コメントを保持し、属性定義を削除します。例: これ:### リーリー

は次のようになります:

リーリー

注: 属性または注釈は変数または関数の上に配置する必要があります。そうでないとエラーが発生します。

オプション 2: すっきりしますが、作業が増えます

オープン API 宣言を別の場所に配置します。例えば:###

返信リソース:
    https://github.com/DarkaOnLine/L5-Swagger/issues/157#issuecomment-406204764
  • 新しいディレクトリ (ダミー) を作成し、そこにすべての OpenAPI コメントを配置します:
  • https://github.com/DarkaOnLine/L5-Swagger/issues/157#issuecomment-655865772
オプション 3:

これは私が使用するものです プロパティをスキーマ宣言に追加します 例: ### リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート