JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Default fields resource option

Offen
#855 5 Kommentare 12 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Type: Enhancement
Vorherrschende Sprache
Ruby
Sterne
2.3k
Forks
546
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Add an option to the resource class to specify the default fields. Would be used by the request parser if the fields are not specified. Would allow a pared down fields set as the default, while still allowing the full field set if requested.

For example:

class CommentResource < JSONAPI::Resource
  attributes :body
  has_one :post
  has_one :author, class_name: 'Person'
  has_many :tags

  filters :body

  default_fields [:body, :post, :author]
end

Would skip the tags relationship, unless specified in the request.

Comments?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Behandlung der Optionen der Ressourcenklasse und den im Issue erwähnten Request-Parser zu lokalisieren. Verfolge, wie angeforderte Felder und Beziehungen ausgewählt werden, und ermittle anschließend, wie eine Standardliste nur dann angewendet werden sollte, wenn Felder fehlen. Als abgeschlossen gilt die Arbeit, wenn Ressourcen Standardfelder deklarieren können, weggelassene Beziehungen standardmäßig ausgeschlossen werden und explizit angeforderte Felder weiterhin funktionieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rails, ruby
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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