Sto progettando un'API di servizio REST e sono rimasto bloccato sul modo corretto di nidificare le risorse.
Risorse: partner, ticket, impostazioni
Collegamenti tra risorse:
-
Il
- partner ha molti ticket,
- partner ha una serie di impostazioni,
Logica di bussole:
- puoi elencare tutti i partner come utente anonimo,
- puoi aggiungere un nuovo ticket al partner specificato come utente anonimo,
- solo i partner possono elencare i suoi ticket,
- solo il partner può modificare i suoi ticket,
- solo i partner possono elencare le impostazioni,
- solo il partner può modificare le impostazioni,
Quello che ho fatto fino ad ora:
Risorse partner
GET / partner - elenca tutti i partner
GET / partner /: id - mostra i dettagli del partner specificato da: parametro id
GET / partner /: partner_id / ticket - elenco dei biglietti del partner
GET / partner /: partner_id / ticket /: id - dettagli del ticket del partner specificato
POST / partner /: partner_id / ticket - salva il nuovo ticket
PUT / partner /: partner_id / ticket /: id - aggiorna il ticket specificato da: parametro id
GET / partner /: partner_id / settings - elenca le impostazioni del partner
PUT / partner /: 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 es.
GET / ticket /: id
POST / biglietti
PUT / ticket /: id
GET / impostazioni
PUT / impostazioni