所以這個問題有幾個部分。 的2個示例端點(在最簡單的形式):如何爲應用程序客戶端的.Net Web Api版本控制/路由?
user/{id}/profile
movie/{id}/info
我希望創建2個控制器(UserController中& MovieController)。
- 如何在控制器名稱之前實現視圖區域?
這兩個是什麼,我會考慮一個視圖。因此,我想在控制器之前追加一個「視圖」,因爲這兩個控制器只提供意見。我後來希望在不同的地方也有一個用戶控制器,不會返回意見。 但是,全部我的終點應以/api/開頭。
即我想要這個:
api/view/user/{id}/profile
api/view/movie/{id}/info
但在使用 「自定義路由」 我怎麼註冊的區域(/查看/)(即:httpConfiguration.MapHttpAttributeRoutes())?這個我找不到的任何例子?
- 我應該在哪裏進行版本控制?
客戶端是一個應用程序,並且需要的版本,這樣我們就可以更改該方法不會破壞應用程序的舊版本。
我們不確定最好放置版本的位置,以及放置位置如何影響新版本的開發(如果這樣做的話)?
可能性:
1. api/v1/view/user/{id}/profile
2. api/view/v1/user/{id}/profile
3. api/view/user/{id}/profile/v1
版本整個API。這會將整個API升級到新版本,即使我們只需要一個方法/終端來進行應用程序更改。 有沒有任何優點,這我沒有看到?
版面積。同上,受影響的控制器略少。
版本的方法。看起來像最簡單的一樣,因爲只有單一改變的方法受到影響。但網址非常難看。
沒有人有在MVC或Web的API結構不整API升級版本的例子,但仍保持了又好結構在他們的網址嗎?
爲什麼不使用[aspnet-api-versioning](https://github.com/Microsoft/aspnet-api-versioning)? – NightOwl888