Ich habe RESTful API innerhalb eines Web-Service mit einer Art von Ressourcen wie Benutzer, Beiträge und so weiter. Wenn ich eine Liste von Posts (GET/posts) anfordere, möchte ich ein Array von Posts nur mit einem reduzierten Teil der Daten für jeden Post (d. H. Betreff, Autorenname) abrufen. Wenn ich eine konkrete Post (GET/posts/42) anfordere, möchte ich die vollständige Liste der Post-Objektfelder abrufen, einschließlich des großen Post-Bodys, zusätzlicher Informationen über Likes count, comments count. Ich vermute, es gibt viele Möglichkeiten, dieses Problem zu lösen. In meinem Kopf, 3 naheliegendste sind:?Möglichkeit, Ressourcen Felder Liste in RESTful API Anfrage
- Explizit Felder lits bei jeder Anfrage angeben (/ Beiträge fileds = Thema, author_name und für /posts/42 Felder = Subjekt, Körper, createaAt, author_name, comments_count, likes_count, etc ...).
- Explizit Feldliste nur angeben, wenn sie von Standard Felder Liste unterscheidet.
- Geben Sie die Feldliste an, die ausgeschlossen werden soll (oder inlcuded) von (bis) Standardfelder, wenn die gewünschten Felder vom Standard abweichen.
Ich, was klar und nützlich API für meine Kunden zu bauen. Welchen Weg soll ich wählen?
würde ich zustimmen. Es bietet eine niedrige Eintrittsbarriere, sodass Entwickler die Standardfelder leicht erkennen und sehen können, aber dennoch die Flexibilität haben, genau nach Ihren Wünschen zu fragen. – theon
Ich mache auch Option (2), aber ich erlaube 'fields = *', alle Felder zu bekommen, so dass die Abfrage des ganzen Satzes einfach ist (besonders für einen Entwickler, der das überprüfen oder überprüfen möchte, was dieser Satz ist). –