Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Concept for API versioning #35

Open
MD-V opened this issue Apr 30, 2022 · 3 comments
Open

Concept for API versioning #35

MD-V opened this issue Apr 30, 2022 · 3 comments
Labels
client client related issue discussion needed this issue requieres team discussion enhancement New feature or request process development or release process issue server server related issue

Comments

@MD-V
Copy link
Contributor

MD-V commented Apr 30, 2022

No description provided.

@MD-V MD-V added enhancement New feature or request client client related issue server server related issue labels Apr 30, 2022
@Apfelwurm Apfelwurm added discussion needed this issue requieres team discussion process development or release process issue labels May 1, 2022
@TheR00st3r
Copy link
Member

Haben wir hier ein Problem? Solange wir nur unseren BlazorClient unterstützen passt das doch. Wenn wir dazu die API nur erweitern und nicht reduzieren sollten wir doch schon recht Safe sein.

@MD-V
Copy link
Contributor Author

MD-V commented May 4, 2022

Als mögliche Features werden "System Api tokens for specific parts of the system" und "User Api tokens" genannt. Das weist darauf hin, dass möglicherweise auch externe Clients Teile der API aufrufen. Wenn man die Versionierung aktuell weglässt hat man später folgende Möglichkeiten:

  • Nur kompatibel erweitern
  • Schnittstellenbrüche einfach akzeptieren
  • Versionierung über Header, Query Parameter oder Body Content (bei Posts) hinzufügen. Über die Route geht es nicht mehr --> sonst Bruch der Schnittstelle.

Ist ja als enhancement markiert. Vorerst können wir das auch weglassen.

@Apfelwurm
Copy link
Member

Als mögliche Features werden "System Api tokens for specific parts of the system" und "User Api tokens" genannt. Das weist darauf hin, dass möglicherweise auch externe Clients Teile der API aufrufen.

Korrekt, folgende Schnittstellen waren da bei mir im Kopf:

  • für uns interessant
    • zum abrufen von Gameserver configs für Tournaments / Matches
    • zum reporten der laufenden Games
    • zum reporten von user Stats
    • fürs anlegen von support Tickets
    • fürs bearbeiten von support Tickets
  • für andere zukünftig interessant
    • Zeit/ punkte reporting für sport tournaments

Denke mal dass wir für die Stellen wahrscheinlich aber relativ lang mit dem Vorsatz nur kompatibel zu erweitern fahren könnten, aber wenn ich mir die Implementierung anschaue wäre ja sowohl der Ansatz über die URI zu versionieren, als auch der über Header zu versionieren nicht wirklich krasser Aufwand. Von daher könnten wir schon schauen dass wir das vor dem ersten Release, was ja auch noch dauern wird noch mit einbauen. Gäbs aus eurer Sicht Vor- / Nachteile für ne bestimmte Variante?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client client related issue discussion needed this issue requieres team discussion enhancement New feature or request process development or release process issue server server related issue
Projects
None yet
Development

No branches or pull requests

3 participants