Questo, "Tuttavia, filosoficamente - il primo approccio è l'unico approccio.", e questo "L'approccio REST corretto ufficiale è usare Accept: header." sono ampiamente percepiti per essere il caso, ma sono anche assolutamente errati .
Ecco un breve frammento di Roy Fielding (che ha definito REST) ...
"la sezione 6.2.1 non dice che dovrebbe essere la negoziazione del contenuto
usato tutto il tempo. " cite
Quella particolare conversazione è nel contesto dell'intestazione "Accept-Language:", ma lo stesso vale per l'intestazione "Accept:", come chiarito più tardi nella sua risposta ...
"Non ho idea del motivo per cui le persone non possono vedere
il secondo e il terzo link nella pagina principale
link
che punta alle due edizioni PDF. "
Ciò che intende è che non vi è alcun problema nell'usare endpoint diversi per rappresentazioni diverse degli stessi dati di origine. (In questo caso un endpoint .html e due diversi endpoint .pdf.)
Anche in una discussione simile, questa volta riguarda i vantaggi dell'utilizzo dei parametri di query rispetto all'utilizzo di estensioni di file per diversi tipi di media ...
"Ecco perché preferisco sempre le estensioni.
Nessuna scelta ha nulla a che fare con REST. " cite
Anche in questo caso, è leggermente diverso rispetto alle estensioni Accept vs. filename, ma la posizione di Fielding è ancora chiara.
Risposta: non importa molto.
I compromessi tra i due non sono molto significativi ed entrambi sono stili accettabili.