Несколько параметров не отправляются должным образом в методе get с использованием Angular 5 и Node js backend - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь создать API с помощью nodejs и получить к нему доступ с помощью метода GET, отправив параметры с помощью метода Angular 5 GET.Когда я тестирую свой API с помощью Postman, он работает нормально, но отправка запроса GET из Angular не дает мне результата.Мой узел js router для получения нескольких параметров кода выглядит следующим образом:

router.get('/:min&:max',(req,res,next)=> {
    Image.find({hue: {$gt:req.params.min,$lt:req.params.max}})
        .select('name url hue')
        .exec()
        .then(docs => {
            const response={
                images: docs.map(doc=> {
                    return {
                        name: doc.name,
                        url: doc.url,
                        hue: doc.hue,
                        _id: doc._id,
                    }
                })
            }
            res.status(200).json(docs);
        })
        .catch(err => {
            console.log(err);
            res.status(500).json({
                error: err
            });
        });
})

Мой угловой метод GET выглядит следующим образом:

getSearchedImages(min, max) {
        let params = {
            'min': String(min),
            'max': String(max)
        }
        this.http.get('http://localhost:3000/', { params: params})
            .subscribe(val=> console.log(val))
    } 

Есть ли проблемы в угловой части или мой кодв узле настраивается

1 Ответ

0 голосов
/ 26 ноября 2018

Используйте POST, если вы хотите передать параметры в теле запроса.В противном случае, если вам нравится GET, передайте параметры в URL.

Сам HTTP не ограничивает это, но некоторые реализации интерфейса делают

...