Angular 2+ http-get с параметрами - PullRequest
0 голосов
/ 08 мая 2020

Я хочу создать метод get с более чем одним параметром. В моем примере он работает с одним параметром, но мне нужно вставить еще один. В сегменте кода серверной части вы можете увидеть, где я хочу передать второй параметр, но я не знаю, как это сделать. Я пытаюсь указать параметры, но не работает.

Я хочу передать creater_group (работает) и второй параметр как created_by.

Компонент:

ngOnInit(): void {

    const creater_group = localStorage.getItem('usergroup');
    const created_by = localStorage.getItem('user')
        this.getMessageNotifications(creater_group, created_by)
  }

getMessageNotifications(creater_group) {
    console.log(creater_group)
    this.notificationService.getMessageNotifications(creater_group).subscribe(response => {
      this.notifications = response.notification;
      console.log(this.notifications);
    }) 
  }

Сервис:

 getMessageNotifications(creater_group){
    return this.http.get(BASE_URL + 'messagenotifications/' + creater_group).pipe(
          map(res => res.json()))
}

Бэкэнд: Nodejs.

function getMessageNotifications(req, res, next) {
    var creater_group = String(req.params.creater_group); 
    db.any(
      `SELECT 
          message_wall.message, 
          message_wall.created_at,
          message_wall.id,
          message_wall.seen,
          message_wall.creater_group,
          message_wall.created_by,
          users.logout_date
      FROM 
          message_wall, 
          users,  
      WHERE  
          message_wall.creater_group != $1 
      AND 
          user.username = $2

          `, creater_group
      )  
    .then(function (notification) {
        res.status(200)
          .json({
            status: 'success',
            notification: notification,
            message: 'Retrieved notifications'
          });
      })
      .catch(function (err) {
        return next(err);
      });
  }

1 Ответ

0 голосов
/ 08 мая 2020

Вы можете попробовать это

Компонент

    ngOnInit(): void {
    const creater_group = localStorage.getItem('usergroup');
    const created_by = localStorage.getItem('user')
        this.getMessageNotifications(creater_group, created_by)}

getMessageNotifications(creater_group,created_by) {
    this.notificationService.getMessageNotifications(creater_group,created_by).subscribe(response => {
      this.notifications = response.notification;
      console.log(this.notifications);
    }) 
  }

Сервис

getMessageNotifications(creater_group,created_by){
return this.http.get(BASE_URL + 'messagenotifications/' + creater_group +'/'+ created_by).pipe(
      map(res => res.json()))}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...