2013-10-03 15 views
6

è piuttosto comune vedere consigli sulla progettazione dell'URL dell'API, dove gli URL sono nel formato "/ api/v1/resource" e quindi quando l'API cambia, potremmo passare a/api/v2 ecc.Progettazione e implementazione URL API Web

Ora, questo deve essere implementato in qualche modo. Ci sono una serie di opzioni:

  • Distribuire il progetto alla base del server web, e lasciare che le regole di routing si occupano di gestire la parte/api/v1
  • distribuire il progetto in un/api/sottocartella (directory virtuale), le regole di routing si prendono cura delle parti/v1,/v2 ecc., ma non sono a conoscenza della/api/porzione degli URL.
  • distribuire il progetto in una sottocartella/api/v1 (directory virtuale). Una nuova versione dell'API è completamente un nuovo progetto, distribuito separatamente. Il progetto tratta strettamente le risorse come un concetto di root, ma generalmente non è a conoscenza della parte/api/vX.

Quindi, quale metodo sceglieresti e perché?

saluti, Daníel

risposta

0

Ho schierato il mio progetto alla base della sottocartella e lasciare che le mie regole di routing di gestire i percorsi delle versioni. Preferisco avere la mia implementazione con la minore dipendenza possibile dal mio ambiente di hosting nel caso in cui desideri distribuire in un ambiente che non supporta il mio metodo di implementazione.

SDammann.WebApi.Versioning è la soluzione che ho usato per ottenere questo in una delle mie applicazioni.

Tuttavia, ASP.NET and Web Tools for Visual Studio 2013 Release renderà tutto ancora più semplice.