我有一项自定义服务,必须以 CSV 格式返回数据。
我无法使用标准 Express 路线,因为我需要在该端点上使用 Feathers 的钩子。
我找不到返回非 HTML、非 JSON 数据的 Feathers 服务的示例,并且找不到指定响应内容类型的方法。
Using res.set('Content-Type', 'text/csv')
从服务返回之前方法不起作用;决赛Content-Type
标头已重置为application/json
,即使该方法的返回值是常规字符串。
如何在 Feathers 的自定义服务方法中正确设置任意响应内容类型?
您可以像这样自定义响应格式:
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));
完整的文档可以找到here https://docs.feathersjs.com/api/rest.html#appconfigurerestformatter.
使用您的自己的服务特定中间件 https://docs.feathersjs.com/api/express.html#custom-service-middleware发送响应也应该可以。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)