AngularJS Как мне получить данные с URL-адреса, требующего как паролей строки запроса, так и публикации данных с использованием углового ресурса? - PullRequest
0 голосов
/ 21 февраля 2019

Требование : отправьте данные в конечную точку, используя сообщение данных, поместите начальную дату и конец в строку запроса URL-адреса, например:

https://server/byLocation?startDate=2019-01-01&EndDate=2020-01-01

Полезная нагрузка данных имеет только locationID и критерии, показанные ниже.

Определение ресурса

Я пытался переместить startDate и завершить работу объекта запроса какЧто ж.

ByLocationResource: $resource(
    ByLocationEndpoint,
    null,
    {
        query: {
            startDate: '@startDate',
            endDate: '@endDate',
            locationIds: ['@locationIds'],
            Criteria: '@Criteria',
            method: 'POST'
        }
    }
),

Определение конечной точки

var ByLocationEndpoint = https:/servername/byLocation/?startDate=:startDate&endDate=:endDate');

Как объединить строку запроса в конечной точке URL с данными сообщения?

Служба:

    function ByLocation(startDate, endDate, Criteria, locationIds) {
        _ByLocationResource.query(
            {

                startDate:startDate,
                endDate:endDate,
                locationIds: [locationIds],
                Criteria: Criteria


            });


    }

Я пытался немного перемешать это:

function ByLocation(startDate, endDate, Criteria, locationIds) {
        _ByLocationResource(startDate,EndDate).query(
            {

                locationIds: [locationIds],
                Criteria: Criteria


            });


    }

Я вынужден использовать $ http вместо конечной точки и ресурса?

Браузер получает 400 неверных запросов, которые выглядят следующим образом:

URL запроса: https://servername/bylocation/?startDate=&endDate=

Очевидно, что параметры startDate и endDate не заполняются.

1 Ответ

0 голосов
/ 22 февраля 2019

Правильный способ использования конечных точек AngularJS с данными QueryString и Post

Это правильный шаблонный шаблон ресурса:

ByLocationResource: $resource(

    ByLocationEndpoint,
    {
        startDate: '@startDate',
        endDate: '@endDate'
    },
    {
        query: {

            Criteria: '@Criteria',
            locationIds: '@locationIds',
            method: 'POST',
            isArray: true
        }
    }
),

И это шаблон вызовапервые два параметра заполняют параметры строки запроса для конечной точки, в то время как второй набор параметров заполняет данные Post.Мы назвали запрос метода, потому что мы запрашиваем данные на основе параметров записи, в результате чего результаты ограничиваются строкой запроса по дате начала и окончания.

MyService.ByLocation(
    {
        startDate: startDateTime,
        endDate: endDateTime
    },
    {
        Criteria: {

            Id: Id,
            Minutes: Minutes,
            Id2: Id2
        },
        locationIds: [5, 6, 7, 8]
    }
);

Код в службе MyService, вызывающий запросМетод.

function ByLocation(dates, payload) {

    return ByLocationResource.query(dates, payload).$promise;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...