2016-10-06 6 views
0

FeatherJS (Express 기반 NodeJS 프레임 워크) 응용 프로그램에서 원격 REST-API를 호출 할 방법이 필요합니다.featherJS 응용 프로그램에서 원격 휴식 서비스 호출에 대한 우수 사례

https://github.com/request/request 지금이 더 나은 제안을 있습니까 내가 FeatherJS를 사용하고 있다는 : 괜찮 요청 모듈을 사용하도록 제안

내가 찾은 몇 가지 게시물? 아니면 요청 모듈이 괜찮습니까?

+0

모듈 요청보다 좀 더 편리한 것으로 보이는 request-promise라는 모듈이 있습니다. –

답변

1

깃털 서비스가 약속을 기대하기 때문에 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); 
+0

Thx 나는 같은 결론에 도달했습니다. 다른 좋은 대안이 없다면 나는 이것을 답으로 표시 할 것이다. –