如何使用Restler Rest客户端库而不是Angular / HTTP

我使用Restler库作为IONIC项目上的Rest客户端来使用Notejs API,目标是使用Restler而不是Angularjs的Http服务:

我试过这种方式:

let options = { headers: {'Authorization':[this.token]}}; restler.get('http://localhost:8083/api/auth/protected', JSON.stringify(options ) ).on('complete', function(result, response) { if (result instanceof Error) { reject(result); } else { resolve(result); } }); 

这种方式返回:结果“未经授权”

angular度/ Http方式:

 let headers = new Headers(); headers.append('Authorization', this.token); this.http.get('http://localhost:8083/api/auth/protected', {headers: headers}) .subscribe(res => { resolve(res); }, (err) => { reject(err); }); 

并返回: {"_body":"{\"content\":\"Success\"}","status":200,"ok":true,"statusText":"OK","headers":{"Content-Type":["application/json; charset=utf-8"]},"type":2,"url":"http://localhost:8083/api/auth/protected"}

我已经尝试过Restler get方法来消耗一个没有参数的restful API,它的工作,我认为参数选项(头)没有正确传递

我build议使用针作为Rest API客户端而不是使用restler

我已经testing,它的工作很棒,正如@angular/ http服务,

例如:

@angular/ http执行:

  return new Promise((resolve, reject) => { let headers = new Headers(); headers.append('Content-Type', 'application/json'); this.http.post('http://localhost:8083/api/auth/login', JSON.stringify(credentials), {headers: headers}) .subscribe(res => { resolve(data); resolve(res.json()); }, (err) => { reject(err); }); }); 

针执行:

  return new Promise((resolve, reject) => { let options = { headers: { 'Content-Type': 'application/json' } } needle.post('http://localhost:8083/api/auth/login', credentials, options, function(err, resp) { if (!err && resp.statusCode == 200){ resolve(resp.body); }else{ reject(err); } });