Come regola generale, l'idea di un GET in REST è che tutti i parametri vengono inviati nell'URL. Come indica la risposta alla domanda che hai incluso, è fattibile ma manca il punto di REST, che è quello di avere un'interfaccia webbish coerente. Se si desidera passare dati complessi al proprio endpoint, è probabile che si desideri utilizzare un POST, per il quale gli utenti si aspettano di avere un corpo. Consiglio vivamente di riconsiderare questa implementazione.
Ma per la tua domanda attuale, certo ci sono clienti che non possono inviare un corpo su un GET. Per lo più immagino che i tuoi clienti siano programmatici, per esempio urlib2 di python, e mentre tu puoi impostare un corpo su GET, non è proprio l'uso previsto del modulo, quindi stai costringendo il programmatore a diventare strano. Ancora più importante, l'idea dell'API REST è quella di essere indipendente dal client, motivo per cui mi sembra che la progettazione dell'API debba essere rielaborata qui.
Sì, questo sarebbe la mia seconda scelta. È vero che l'utilizzo di un corpo su una richiesta GET non è completamente riposante, ma è necessario. La lunghezza dell'URL è limitata e ha spesso problemi con i dati complessi. Se non ci sono possibilità per GET, userò il POST, ma gli utenti cercheranno POST per la creazione e GET per il recupero dei dati. Tuttavia, non vedo altra opzione. – user437899
Vedo il punto, ma penso che agli utenti sembrerà meno mutante immaginare l'endpoint POST come fornitore di servizi che sta elaborando i loro dati XML/JSON complessi e rispondendo con il risultato, piuttosto che creare un non standard Richiedi Il POST è usato frequentemente in questo modo, GET no. – Ben