使用angular 2快速调用rest api如何

使用angular 2快速调用rest api如何,rest,angular,Rest,Angular,问候,, 关于从angular 2调用rest api,我有一个小问题。 我有一个rest api端点: api/room/byName/:roomName 如果我使用postman等restfull工具并调用apihttp://localhost:3000/api/room/byName/roomname1 这工作很好,并得到了结果。 但是当我可以从angular2调用它时,RESTAPI甚至没有被调用 let params: URLSearchParams = new URLSearch

问候,, 关于从angular 2调用rest api,我有一个小问题。 我有一个rest api端点:

api/room/byName/:roomName
如果我使用postman等restfull工具并调用apihttp://localhost:3000/api/room/byName/roomname1 这工作很好,并得到了结果。 但是当我可以从angular2调用它时,RESTAPI甚至没有被调用

 let params: URLSearchParams = new URLSearchParams();
 params.set('roomName', roomName);
  return this
  .http
  .get('/api/room/byName',{search:params})
  .map((response: Response) => response.json());
我敢肯定,我没有恰当地称呼它。感谢您对如何从angular 2调用它的帮助

谢谢

编辑

得到建议后,这是我的代码,但仍然不走运: 角度呼叫:

    return this.http
  .get('/api/room/byName/'+roomName)
  .map((res: Response) => res.json());
快速端点:

var rooms = express.Router();
rooms.get('/byName/:roomName', function(req,res){

var roomn = req.params.roomName;
console.log('Looking by roomName: ' + roomn);
Room.findOne({ "roomName": roomn }, function(err, rooms) {
    if (err) {

        next(err);
     } else {

        res.json(rooms);
     }
 });

});
如果我从浏览器中调用端点,则此操作正常:
首先确保已启用

第二:改变这个

let params: URLSearchParams = new URLSearchParams();
params.set('roomName', roomName);
return this
  .http
  .get('/api/room/byName',{search:params})
  .map((response: Response) => response.json());
致:


首先确保您已启用

第二:改变这个

let params: URLSearchParams = new URLSearchParams();
params.set('roomName', roomName);
return this
  .http
  .get('/api/room/byName',{search:params})
  .map((response: Response) => response.json());
致:

只接受url而不接受正文作为参数。它不是具有正文的帖子

尝试:

只接受url而不接受正文作为参数。它不是具有正文的帖子

尝试:


您能否提供您订阅可观察对象的快速实现者?是否有错误?完全没有错误。。当从浏览器调用该端点时,该端点可以正常工作:添加问题not comment@leocool您是否可以提供您的快速实现者您是否订阅了可观察对象?是否有错误?完全没有错误。。当从浏览器调用此端点时,它可以正常工作:添加问题not comment@leoyes。。但是http函数“get”没有一个单独的参数来接受它。它们应该包含在url中。请检查答案中的api链接。我已经明确说过,它不是post,而是只接受url。我不确定他们会怎么想相反。OP调用get并将搜索参数作为单独的参数(如body)传递post中的参数。我刚刚指定参数不可用。。但是http函数“get”没有一个单独的参数来接受它。它们应该包含在url中。请检查答案中的api链接。我已经明确说过,它不是post,而是只接受url。我不确定他们会怎么想相反。OP调用get并将搜索参数作为单独的参数(如body)传递post中的参数。我刚刚指定参数不可用
let params: URLSearchParams = new URLSearchParams();
 params.set('roomName', roomName);
  return this
  .http
  .get(`/api/room/byName/${roomName}`)
  .map((response: Response) => response.json());