Attualmente stiamo progettando un'API REST per accedere ai dati dei clienti classici. Uno degli elementi nell'API è il patrimonio di un utente. Le risorse vengono aggiunte sotto un determinato servizio. L'API di backend aggiungerà un asset a un utente solo in base a un determinato servizio. Quindi, non esiste una relazione Utente - Asset, ma un Utente - [Servizio] - Relazione sull'assetto.
I nostri URI avranno questo aspetto:
/users/{id}/assets/{id}/services/{id}
Gli usi dell'API conosceranno l'ID risorsa e l'ID servizio per creare una nuova voce. Ciò a cui stiamo combattendo è la creazione di questa relazione.
Un modo semplice sarebbe quello di pubblicare l'intera relazione su /users/{id}/assets/
POST /users/{id}/assets
{asset:${id}, service:{id}, attribute1:"{var}", attribute2:"{var}"}
ma in realtà non stiamo creando una risorsa come potrebbe indicare l'URI, ma una relazione asset-service.
In alternativa, stiamo considerando POST'ing all'URI che indirizza la relazione, in questo modo:
POST /users/{id}/assets/{id}/service/{id}
{attribute1:"{var}", attribute2:"{var}"}
Ma in questo caso, il percorso della risorsa /users/{id}/assets/{id}
non esiste prima del POST e verrà creato come un effetto collaterale.
L'invio POST a un percorso di risorsa che non esiste ancora consentito a tutti?
Grazie per i tuoi pensieri,
Gerard.