Запрос HTTP get только возвращает результаты, где значения идентификатора базы данных непрерывны (1, 2, 3) в Angular 6 - PullRequest
0 голосов
/ 07 февраля 2019

В моей базе данных есть таблица, в которой идентификаторы значений не являются непрерывными, например:

  1. id: 1, имя: john, фамилия: doe
  2. id: 5, имя: том, фамилия: том

, поэтому я хочу с помощью запроса get получить все значения в таблице и отобразить их.

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

[
    {
        "id": 1,
        "name": "Visionwai 2",
        "createdDate": "2019-02-04T12:06:54.1667898",
        "description": "Visionwai à Etincelle",
        "nbrOfEmployees": 5
    },
    {
        "id": 3,
        "name": "Visionwai",
        "createdDate": "2019-02-06T12:23:59.0105529",
        "description": "",
        "nbrOfEmployees": 0
    },
    {
        "id": 18,
        "name": "t",
        "createdDate": "2019-02-07T11:11:11.123",
        "description": null,
        "nbrOfEmployees": 0
    }
]

У меня есть свой requestService.ts, который просто возвращает запрос, вот проблемный запрос

getClients() {
    var self = this
    return self.http.get(this.connectionString+'clients', 
    self.authorizationToken)
}

У меня есть dataService.ts, которыйбудет вызываться в большинстве моих компонентов и позволяет мне сохранять результаты запросов, чтобы я не вызывал запросы каждый раз, если данные уже были загружены один раз.

clients = new BehaviorSubject([]);

storeClientsList(load = false){
    if(this.clients.value.length == 0 || load){
        this.requests.getClients()
        .subscribe((clients:any[])  =>{
            console.log(clients)
            this.clients.next(clients)
            console.log('Request executed')
        })
     }
     else{
         this.clients.next(this.clients.value)
     }
     console.log(this.clients)
}

Вот результатconsole.log (clients) (тот же результат, что и для console.log (this.clients), он просто возвращает поведениеSubject с этим значением в нем).

0:
    createdDate: "2019-02-04T12:06:54.1667898"
    description: "Visionwai à Etincelle"
    id: 1
    name: "Visionwai 2"
    nbrOfEmployees: 5

А затем в моем компоненте я выполняю операции, подобныеэто (здесь заполнение коврик-выбор)

this.dataService.storeClientsList()

this.dataService.clients
.subscribe(clients => {
    clients.map(client => {
        let data = {value: client.name, viewValue: client.name};
        this.companyList.push(data)
    })
})

Заранее спасибо за вашу помощь!

...