API REST - Aggiornamento delle relazioni molti-a-molti

2

Vorrei sapere come dovrei aggiornare le relazioni molti-a-molti nella mia API.

La mia app ha companies che può avere molti tools e technologies . La relazione viene memorizzata nelle tabelle di unione companies_technologies e companies_tools .

Il frontend ha un modulo per modificare la società. Desidero che gli utenti inviino un unico modulo per aggiornare le (1) informazioni sulla società , (2) gli strumenti e (3) tecnologie .

La mia soluzione è di inviare PUT di richiesta al server con i seguenti dati:

{
  ...company attributes...,
  tool_ids: [1,2,3,4],
  technology_ids: [11,22,33,44]
}

Quindi nel server, troverei tutti gli strumenti che appartengono all'azienda, ottengo i loro id, trova la differenza tra questi id e tool_ids e inserisce / cancella nella tabella companies_tools . Lo stesso per technology_ids .

Ma un simile approccio sembra piuttosto goffo. Esiste un approccio alternativo o come posso migliorare la mia soluzione?

    
posta Sung Won Cho 17.08.2016 - 03:43
fonte

1 risposta

3

Niente di goffo a riguardo. Basta semplicemente inviare i dati per aggiornare con. Anche se sto facendo alcune ipotesi:

Prenderò semplicemente per scontato che gli "strumenti" a cui ti stai riferendo siano quelli che hai etichettato come "metodi di comunicazione".

Sto assumendo che quando si invia questo PUT, la tecnologia e gli strumenti siano limitati agli ID esistenti. Significa che se l'utente desidera aggiungere un nuovo strumento durante la digitazione, non lo consente o non invia un altro aggiornamento per creare lo strumento, ne impara l'id e usa quel nuovo ID in questo PUT.

    
risposta data 17.08.2016 - 04:33
fonte

Leggi altre domande sui tag