Sto progettando un'API di servizio REST e mi sono bloccato sul modo corretto di nidificare le risorse.
Risorse: partner, biglietti, impostazioni
Connessioni tra risorse:
- il partner ha molti biglietti,
- il partner ha una serie di impostazioni,
Logica aziendale:
- puoi elencare tutti i partner come utente anonimo,
- puoi aggiungere un nuovo ticket al partner specificato come utente anonimo,
- solo il partner può elencare i suoi biglietti,
- solo il partner può modificare i suoi biglietti,
- solo il partner può elencare le impostazioni,
- solo il partner può modificare le impostazioni,
Quello che ho fatto fino ad ora:
Risorse per i partner
GET / partner - elenca tutti i partner
GET / partners /: id - mostra i dettagli del partner specificato da: parametro id
GET / partners /: partner_id / ticket - elenco dei biglietti del partner
GET / partner /: partner_id / ticket /: id - dettagli del
POST / partner del biglietto del partner specificato / partner /: partner_id / biglietti - salva il nuovo
PUT del biglietto / partner /: partner_id / biglietti /: id - aggiorna il biglietto specificato da: parametro ID
GET / partners /: partner_id / settings - elenca le impostazioni del partner
PUT / partners /: partner_id / settings - aggiorna le impostazioni del partner
Problema / Domanda
Sarebbe il modo corretto di dividere le risorse nidificate (ticket, impostazioni) per separare le risorse o duplicarle come risorse separate?
Per esempio
GET / biglietti /: ID
POST / biglietti
PUT / biglietti /: id
GET / settings
PUT / settings