Projekt

Allgemein

Profil

Aktionen

GX-Bug #69069

geschlossen

REST API always outputs all records if no page or per_page parameters are passed

Von Till Tepelmann vor etwa 3 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Hoch
Zugewiesen an:
Marvin Muxfeld
Kategorie:
REST-API
Zielversion:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
4.4.0.0, 4.4.0.1, 4.4.0.2, 4.4.0.3, 4.5.1.0 beta1
Release Notes Langtext:

REST API verbessert für große Datenmengen, sodass diese auf mehrer Seiten aufgeteilt werden wenn kein per_page Parameter übergeben wurde

Tags:

Beschreibung

REST API gibt immer alle Datensätze aus, wenn keine Page oder per_page Parameter übergeben werden, was bei vielen Datensätze dann zu einem Fehler führt

Kann wie folgt reproduziert werden:

  1. Erstelle sehr sehr viele Bestellungen, Kunden oder Artikel, mindestens 15 000 oder mehr
  2. Rufe über die REST API den Endpunkt /v2/orders oder v2/products auf
  3. Es wird eine Fehlermeldung 500 oder andere Meldung angezeigt weil die zurückgelieferten Daten zu groß sind

Erwartetes Verhalten:
Die REST API sollte immer 50 Datensätze zurückliefert wenn keine Paramter "page" oder per_page" übergeben wurden, sodass keine Fehler beim Abrufen der Daten entsteht
Links im Response Header werden ausgegeben, sodass man die nächste und letze Seite direkt abrufen kann

Tatsächliches Verhalten:
Es werden immer alle Datensätze auf einmal ausgegben, wenn kein page oder per_page Parameter angegben wurde. Daduch kommt es bei vielen Datensätzen zu einem Fehler 500 oder Speicherfehler.


REST API always outputs all records if no page or per_page parameters are passed, which then results in an error for many records

Can be reproduced as follows:

  1. create very very many orders, customers or products, at least 15 000 or more.
  2. call the endpoint /v2/orders or v2/products via the REST API
  3. an error 500 or other message is displayed because the returned data is too large

Expected behavior:
The REST API should always return 50 records if no "page" or per_page" parameters are passed, so that no errors occur when retrieving the data
Links in the response header are output so that you can retrieve the next and last page directly

Actual behavior:
All records are always output at once if no page or per_page parameter is specified. This results in an error 500 or memory error for many records.


Aktionen

Auch abrufbar als: Atom PDF