Как обрабатывать строки запроса в экспрессе - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть ситуация, когда я должен отправить некоторые данные на сервер со строками запроса.

import * as actions from './actions';
import AXIOS from 'services/axios';

export function getLastEvent({campaign_name, with_campaign} = {}) {
    return dispatch => {

        return AXIOS.get(`/events/last-event?${campaign_name && `campaign_name=${campaign_name}`}&${with_campaign && `with_campaign=${with_campaign}`}`)
            .then(response => dispatch(actions.getLastEventResponse(response)));
    };
}

А также я должен проверить это с помощью экспресс-валидатора в моем бэкэнде.

router.get('/last-event', roleChecker('customer'), [
    query('with_campaign').optional().isBoolean(),
    query('campaign_name').optional(),
], async (req, res, next) => {
    try {
        // .... some actions
        return res.status(OK).send(result);
    } catch (err) {
        next(err);
    }
});

Как видите, я проверяю with_campaign, если оно Boolean,Со стороны моего клиента есть случаи, когда я не отправляю with_campaign вариант.Как лучше структурировать мой URL, чтобы он не был таким длинным?И если у меня нет обоих свойств, тогда я получаю URL вот так

localhost: 3000? &

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...