JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Issue with `fields` request params
Nessuno ha ancora preso questa issue.
- Lingua principale
- Ruby
- Stelle
- 2.3k
- Fork
- 546
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
As I'm playing with the Sparse Fieldsets, I encountered some issues.
With the following resources:
class UserResource < JSONAPI::Resource
has_one :status, class_name: 'UserStatus'
attributes :name, :email
end
class UserStatusResource < JSONAPI::Resource
has_one :user
attributes :foo, :bar
end
Relationships are removed from then response when using fields, so we can't link a user to his status.
/users?include=status&fields[users]=name
Association with custom class_name failed with fields.
/users?include=status&fields[users]=name&fields[user-statuses]=foo
returns:
{:errors=>
[{:title=>"Invalid resource",
:detail=>"user-statuses is not a valid resource.",
:id=>nil,
:href=>nil,
:code=>101,
:path=>nil,
:links=>nil,
:status=>"bad_request"},
{:title=>"Invalid resource",
:detail=>"user-statuses is not a valid resource.",
:id=>nil,
:href=>nil,
:code=>101,
:path=>nil,
:links=>nil,
:status=>"bad_request"}]}
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con gli esempi di UserResource e UserStatusResource e riproduci le due richieste usando include=status e i parametri fields. Traccia la gestione degli sparse fieldset per le relazioni e della chiave di risorsa personalizzata class_name. Il lavoro è completo quando la relazione rimane collegabile e user-statuses viene accettato senza gli errori di risorsa non valida segnalati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ruby
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100