Attualmente sto lavorando all'implementazione di un'API REST. Ho un modello di risorse con un gran numero di relazioni tra le singole risorse.Utilizzo dei verbi HTTP LINK e UNLINK in un'API REST
La mia domanda è: come si collegano reciprocamente due risorse esistenti (stabilendo una relazione) in modo RESTful?
Una soluzione che ho trovato era l'uso dei verbi HTTP LINK e UNLINK. L'utente dell'API potrebbe collegare due risorse utilizzando LINK e l'URI seguente:/resource1 /: id1/resource2 /: id2.
Il problema con questa soluzione è la mancanza di supporto per i verbi LINK e UNLINK. Né http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html o http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol menzionano i verbi, e sembrano essere in gran parte "dimenticati". Tuttavia, l'originale RFC 2068 dichiara che esistono.
Mi piace molto questa soluzione. Tuttavia, temo che molti utenti/clienti dell'API non saranno in grado di gestire la soluzione a causa della mancanza di supporto per LINK/UNLINK. È una soluzione accettabile o esistono soluzioni migliori e/o più eleganti per il collegamento di risorse esistenti in un'API RESTful?
Grazie
Perché non creare una risorsa Link che collega le due risorse? –
Questa è un'altra soluzione che stavo considerando (è praticamente gestita in questa [domanda SO] (http://stackoverflow.com/questions/6324547/how-to-handle-many-to-many-relationships-in-a-restful -api). Tuttavia, il problema è che per ogni tipo di relazione, è necessario definire una nuova risorsa (tipo).Ciò complica il modello di risorse e non è particolarmente pragmatico (dal momento che il tuo utente API deve essere a conoscenza di molti più tipi di risorse). LINK/UNLINK non lo complicano eccessivamente: stabilire una relazione è molto prevedibile e quindi più facile da usare. Tuttavia, se LINK/UNLINK sono difficilmente supportati ... –