web-dev-qa-db-ja.com

ファイルのダウンロード用のGraphQLエンドポイント

apollo-server-expressアプリケーションのGraphQLエンドポイントからブラウザーでファイルのダウンロードをトリガーすることはできますか?

エンドポイントを標準のExpress app.get関数で記述していますが(以下を参照)、ファイルのダウンロードにGraphQLコンテキストを利用したいので、GraphQLエンドポイントからダウンロードできるかどうか疑問に思っています。 。

これは、app.get関数の高速側にあるものの基本的な例です。

app.get('/download-batch/:batchId', async (req, res) => {
  res.send(new Buffer('test'));
});

任意の助けをいただければ幸いです。ありがとう!

9
jasonmerino

はい。ただし、そのためのカスタムエンドポイントを作成する必要があります。リクエストに使用している既存のエンドポイントは使用できません。カスタムエンドポイントを使用して、ミドルウェアを追加し、データをバッファまたは必要なフォーマットに処理する必要があります。しかし、それは推奨されません。これは、代わりにもう1つのエンドポイントになり、それを提供するAPIを作成できます(結局、graphqlは主に単一のエンドポイントに焦点を当てて構築されています)。

2
Sandeep Kumar