Ah, sto rimettendo il mio vecchio cappello scontroso.
Da una prospettiva ReST, non importa affatto. Non una salsiccia.
Il client riceve un URI che desidera seguire e lo tratta come una stringa opaca. Metti tutto quello che vuoi in esso, il client ha no conoscenza di una cosa come un identificatore di versione su di esso.
Ciò che il client sa è che può elaborare il tipo di supporto e consiglierò di seguire il consiglio di Darrel. Inoltre, personalmente ritengo che dover cambiare il formato utilizzato in un'architettura riposante 4 volte dovrebbe portare enormi segnali di allarme che stai facendo qualcosa di gravemente sbagliato e ignorare completamente la necessità di progettare il tuo tipo di supporto per la resilienza del cambiamento.
In ogni caso, il client può elaborare solo un documento con un formato comprensibile e seguire i collegamenti. Dovrebbe conoscere le relazioni di collegamento (le transizioni). Quindi ciò che è nell'URI è completamente irrilevante.
Io personalmente voterebbe per http://localhost/3f3405d5-5984-4683-bf26-aca186d21c04
Un identificatore perfettamente valido che impedirà ogni ulteriore sviluppatore cliente o persona che tocca il sistema di mettere in discussione se si deve mettere v4 all'inizio o alla fine di un URI (e io suggerisco che, dal punto di vista del server, non dovresti avere 4 versioni, ma 4 tipi di media).
Possibile duplicato di [Best practice per il controllo delle versioni API?] (Https://stackoverflow.com/questions/389169/best-practices-for-api-versioning) – Helen