Refactoring envelope of successful responses and its client contract

Offen Anfängerfreundlich
#256 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
62/100
Issue-Typ
Refactoring
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
api, backend

Rechercherichtung

Beginne mit den Buildern für Erfolgsantworten in src/utils/utils.py und prüfe ihre Aufrufer und Tests, um festzustellen, welche Antwortfelder der Client erwartet. Aktualisiere den Umschlag erfolgreicher Antworten einheitlich für Daten, Paginierung und Aggregationen und führe anschließend die relevanten Tests aus. Die Arbeit ist abgeschlossen, wenn die redundanten Felder aus dem Antworttext entfernt wurden und der Client-Vertrag in Tests abgebildet ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

refactoring

Summary

Revisit the envelope of successful (HTTP 200) responses from the stats lambda. Every success body currently contains two fields that duplicate the HTTP response:

{"success": true, "statusCode": 200, "data": [...], "pagination": {...}}
{"success": true, "statusCode": 200, "aggregations": {...}}
  • success: true is already implied by the 2xx status code.
  • statusCode is repeated in the body, although it is already the API Gateway statusCode.

This is built in src/utils/utils.py (success response builders for data/pagination and aggregations).

Background

Raised by @lsulak in review of PR #243: "success is quite visible from the status code, and then also status code is there twice. Is there any situation when it differentiates?"

Vorherrschende Sprache
Python
Sterne
4
Forks
0
Ø Merge
3 T. 12 Std.
Gemergte PRs (30 T.)
10

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus AbsaOSS/EventGate

Alle Issues in AbsaOSS/EventGate

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.