깃털 서비스가 약속을 기대하기 때문에 request-promise
모듈을 사용하는 것이 좋습니다. 다음은 예제 서비스입니다. from this post how to make an existing API real-time :
const feathers = require('feathers');
const rest = require('feathers-rest');
const socketio = require('feathers-socketio');
const bodyParser = require('body-parser');
const handler = require('feathers-errors/handler');
const request = require('request-promise');
// A request instance that talks to the API
const makeRequest = request.defaults({
baseUrl: 'https://todo-backend-rails.herokuapp.com',
json: true
});
const todoService = {
find(params) {
return makeRequest(`/`);
},
get(id, params) {
return makeRequest(`/${id}`);
},
create(data, params) {
return makeRequest({
uri: `/`,
method: 'POST',
body: data
});
},
update(id, data, params) {
// PATCH and update work the same here
return this.update(id, data, params);
},
patch(id, data, params) {
return makeRequest({
uri: `/${id}`,
method: 'PATCH',
body: data
});
},
remove(id, params) {
// Retrieve the original Todo first so we can return it
// The API only sends an empty body
return this.get(id, params).then(todo => makeRequest({
method: 'DELETE',
uri: `/${id}`
}).then(() => todo));
}
};
// A normal Feathers application setup
const app = feathers()
.use(bodyParser.json())
.use(bodyParser.urlencoded({ extended: true }))
.configure(rest())
.configure(socketio())
.use('/todos', todoService)
.use('/', feathers.static(__dirname))
.use(handler());
app.listen(3030);
모듈 요청보다 좀 더 편리한 것으로 보이는 request-promise라는 모듈이 있습니다. –