0
Dingo APIを使用して、Webアプリケーション用のRESTfulバックエンドAPIを実装しようとしています。ベストプラクティスでは、応答ペイロードには返されたリソースオブジェクトにlinks
が含まれている必要があります。これは、_link
またはhref
の形式にすることができます。リソースのURLを手作業で作成せずにこれをレスポンスに含める方法はありません。私は次のような応答をしたいと思います...Laravel 5.2/Dingo APIリソースのリンク
[
{
'person': "Joe",
'_link': 'http://api.mydomain.com/v1/persons/2'
},
{
'person': "Pat",
'_link': 'http://api.mydomain.com/v1/persons/3'
}
]
応答にリソースリンクを含める方法はありますか?
はい、私はトランスフォーマーを使用しています。ありがとうございました。これはうまくいった。 '$ person-> id'を現在のURLに追加するにはどうすればよいですか?この場合、私はトランスフォーマーの私のURIを知っていますので、URI上でAPIバージョンを変更すると、それが機能するようにします。 – donnie
これを行う方法の1つは、 'uri'を次のように置き換えて現在のリクエストを取得することです。これはurl構造体 'uri' => \ Request :: url()を変更すると常に機能します。 '/'。 $ person-> id、。ただし、Includeを使用すると、単一のアイテムを返すときに正しく動作しないことがあります。だから、APIの仕事ではないかもしれない、むしろあなたのクライアントはすでにAPIの終点を知っているはずです。ただし、絶対パスを指定する必要がある場合は、エンドポイントを返すヘルパー関数を使用できます。 – tnash
ありがとうございます。それは理にかなっている。 – donnie