Non mi piace come strutturare in modo sensato un'API REST (o REST-like).Hai bisogno di aiuto per capire gli endpoint dell'API REST
Immagina un'API per la creazione e l'invio di e-mail di newsletter. Potresti avere i seguenti nomi/risorse: newsletter (soggetto, corpo, ecc.), Mailing list (raccolte di destinatari) e destinatari (indirizzi e-mail e dati associati).
Così si potrebbe utilizzare PUT per creare una risorsa e va restituita la sua ID:
/newsletter
/list
/user
si potrebbe ottenere informazioni su una risorsa utilizzando GET:
/newsletter/[id]
/list/[id]
/user/[id]
È possibile aggiornare una risorsa esistente utilizzando PATCH (o dovrebbe essere POST?):
/newsletter/[id]
/list/[id]
/user/[id]
È possibile eliminare una risorsa utilizzando DELETE :
/newsletter/[id]
/list/[id]
/user/[id]
È quanto sopra è corretto?
Quali endpoint sono sensibili per azioni come l'invio di una newsletter a un elenco, l'aggiunta di un utente a un elenco?
Ha senso, ed è RESTfull?
/newsletter/[newsletter_id]/send/[mailinglist_id]
/list/[list_id]/add/[user_id]
/list/[list_id]/remove/[user_id]
È ridondante o poco disponibile ad avere list/[id]/add/[id]
e list/[id]/remove/[id]
endpoint per gli elenchi, quando gli utenti possono essere aggiunti o rimossi tramite patch /list/[id]
?
E la ricerca di un ID utente tramite una proprietà come l'indirizzo di posta elettronica o il nome? O ottenere una lista tramite un identificatore come il suo nome o quando è stato creato?
E il verbo "invia"? – jeremiahs