3

データを CSV 形式で返す必要があるカスタム サービスがあります。

このエンドポイントに Feathers のフックが必要なため、標準の Express ルートを使用できません。

非 HTML、非 JSON データを返す Feathers サービスの例を見つけることができず、応答コンテンツ タイプを指定する方法も見つかりませんでした。

サービス メソッドから戻る前に使用res.set('Content-Type', 'text/csv')しても機能しませんでした。メソッドの戻り値は通常の文字列でしたが、最終的なContent-Typeヘッダーは にリセットされました。application/json

Feathers のカスタム サービス メソッドで任意の応答コンテンツ タイプを適切に設定するにはどうすればよいですか?

4

1 に答える 1

1

次のように応答形式をカスタマイズできます。

const feathers = require('feathers');
const rest = require('feathers-rest');

const app = feathers();

function restFormatter(req, res) {
  res.format({
    'text/plain': function() {
      res.end(`The Message is: "${res.data.text}"`);
    }
  });
}

app.configure(rest(restFormatter));

完全なドキュメントはここにあります。

独自のサービス固有のミドルウェアを使用して応答を送信することも機能するはずです。

于 2016-10-21T15:09:17.740 に答える