Sono in procinto di sviluppare un servizio REST che consente a un utente di reclamare la propria scheda in base a un paio di informazioni visualizzate sulla fattura (numero di fattura e codice di fatturazione).GET vs POST nel servizio Web REST
Ho letto innumerevoli articoli e domande Stack Overflow su quando utilizzare GET e quando utilizzare POST. Nel complesso, il consenso comune è che GET dovrebbe essere utilizzato per le operazioni idempotent e il POST dovrebbe essere utilizzato per operazioni che creano qualcosa sul lato server. Tuttavia, questo articolo:
http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
mi ha causato a mettere in discussione utilizzando GET per questo scenario particolare, semplicemente a causa del fatto che sto usando questi 2 pezzi di informazioni come un meccanismo per convalidare l'identità del utente. Non sto aggiornando nulla sul server utilizzando questa particolare chiamata di metodo, ma non voglio necessariamente esporre le informazioni nell'URL.
Questo è un servizio Web interno e solo il front-end che chiama il servizio è esposto pubblicamente, quindi non devo preoccuparmi dell'URL visualizzato nella cronologia del browser di un utente. La mia unica preoccupazione sarebbe l'improbabile eventualità che qualcuno ottenga l'accesso al registro del server, nel qual caso avrò maggiori problemi.
Sono incline al POST per motivi di sicurezza; tuttavia, GET sembra il metodo corretto a causa del fatto che la richiesta è idempotente. Qual è il metodo consigliato in questo caso?
Grazie per la risposta. Ciò conferma i miei pensieri sull'argomento, anche se il POST si sente in errore per le richieste inidive.Mentre sono d'accordo che un metodo di convalida più sicuro potrebbe essere usato, questo è un requisito aziendale, e suppongo che sarebbe l'argomento di una discussione diversa. – Luke