diff --git a/modules/swagger-codegen/src/main/resources/aspnet5/controller.mustache b/modules/swagger-codegen/src/main/resources/aspnet5/controller.mustache
index bfeb2307ff8..72c5480ad0d 100644
--- a/modules/swagger-codegen/src/main/resources/aspnet5/controller.mustache
+++ b/modules/swagger-codegen/src/main/resources/aspnet5/controller.mustache
@@ -16,9 +16,8 @@ namespace {{packageName}}.Controllers
{ {{#operations}}
///
/// {{description}}
- /// {{#description}}{{#basePath}}
- [Route("{{{basePath}}}")]
- {{/basePath}}[Description("{{description}}")]{{/description}}
+ /// {{#description}}
+ [Description("{{description}}")]{{/description}}
public class {{classname}}Controller : Controller
{ {{#operation}}
@@ -29,7 +28,7 @@ namespace {{packageName}}.Controllers
/// {{description}}{{/allParams}}{{#responses}}
/// {{message}}{{/responses}}
[{{httpMethod}}]
- [Route("{{path}}")]
+ [Route("{{basePathWithoutHost}}{{path}}")]
[SwaggerOperation("{{operationId}}")]{{#returnType}}
[SwaggerResponse(200, type: typeof({{&returnType}}))]{{/returnType}}
public virtual {{#returnType}}IActionResult{{/returnType}}{{^returnType}}void{{/returnType}} {{operationId}}({{#allParams}}{{>pathParam}}{{>queryParam}}{{>bodyParam}}{{>formParam}}{{>headerParam}}{{#hasMore}}, {{/hasMore}}{{/allParams}})
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/PetApi.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/PetApi.cs
index 8b6c8f3e09f..abac9871dc7 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/PetApi.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/PetApi.cs
@@ -48,7 +48,7 @@ public class PetApiController : Controller
/// Pet object that needs to be added to the store
/// Invalid input
[HttpPost]
- [Route("/pet")]
+ [Route("/v2/pet")]
[SwaggerOperation("AddPet")]
public virtual void AddPet([FromBody]Pet body)
{
@@ -64,7 +64,7 @@ public virtual void AddPet([FromBody]Pet body)
///
/// Invalid pet value
[HttpDelete]
- [Route("/pet/{petId}")]
+ [Route("/v2/pet/{petId}")]
[SwaggerOperation("DeletePet")]
public virtual void DeletePet([FromRoute]long? petId, [FromHeader]string apiKey)
{
@@ -80,7 +80,7 @@ public virtual void DeletePet([FromRoute]long? petId, [FromHeader]string apiKey)
/// successful operation
/// Invalid status value
[HttpGet]
- [Route("/pet/findByStatus")]
+ [Route("/v2/pet/findByStatus")]
[SwaggerOperation("FindPetsByStatus")]
[SwaggerResponse(200, type: typeof(List))]
public virtual IActionResult FindPetsByStatus([FromQuery]List status)
@@ -102,7 +102,7 @@ public virtual IActionResult FindPetsByStatus([FromQuery]List status)
/// successful operation
/// Invalid tag value
[HttpGet]
- [Route("/pet/findByTags")]
+ [Route("/v2/pet/findByTags")]
[SwaggerOperation("FindPetsByTags")]
[SwaggerResponse(200, type: typeof(List))]
public virtual IActionResult FindPetsByTags([FromQuery]List tags)
@@ -125,7 +125,7 @@ public virtual IActionResult FindPetsByTags([FromQuery]List tags)
/// Invalid ID supplied
/// Pet not found
[HttpGet]
- [Route("/pet/{petId}")]
+ [Route("/v2/pet/{petId}")]
[SwaggerOperation("GetPetById")]
[SwaggerResponse(200, type: typeof(Pet))]
public virtual IActionResult GetPetById([FromRoute]long? petId)
@@ -148,7 +148,7 @@ public virtual IActionResult GetPetById([FromRoute]long? petId)
/// Pet not found
/// Validation exception
[HttpPut]
- [Route("/pet")]
+ [Route("/v2/pet")]
[SwaggerOperation("UpdatePet")]
public virtual void UpdatePet([FromBody]Pet body)
{
@@ -165,7 +165,7 @@ public virtual void UpdatePet([FromBody]Pet body)
/// Updated status of the pet
/// Invalid input
[HttpPost]
- [Route("/pet/{petId}")]
+ [Route("/v2/pet/{petId}")]
[SwaggerOperation("UpdatePetWithForm")]
public virtual void UpdatePetWithForm([FromRoute]long? petId, [FromForm]string name, [FromForm]string status)
{
@@ -182,7 +182,7 @@ public virtual void UpdatePetWithForm([FromRoute]long? petId, [FromForm]string n
/// file to upload
/// successful operation
[HttpPost]
- [Route("/pet/{petId}/uploadImage")]
+ [Route("/v2/pet/{petId}/uploadImage")]
[SwaggerOperation("UploadFile")]
[SwaggerResponse(200, type: typeof(ApiResponse))]
public virtual IActionResult UploadFile([FromRoute]long? petId, [FromForm]string additionalMetadata, [FromForm]System.IO.Stream file)
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/StoreApi.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/StoreApi.cs
index 26784668ba6..da0b7b0d67a 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/StoreApi.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/StoreApi.cs
@@ -49,7 +49,7 @@ public class StoreApiController : Controller
/// Invalid ID supplied
/// Order not found
[HttpDelete]
- [Route("/store/order/{orderId}")]
+ [Route("/v2/store/order/{orderId}")]
[SwaggerOperation("DeleteOrder")]
public virtual void DeleteOrder([FromRoute]string orderId)
{
@@ -63,7 +63,7 @@ public virtual void DeleteOrder([FromRoute]string orderId)
/// Returns a map of status codes to quantities
/// successful operation
[HttpGet]
- [Route("/store/inventory")]
+ [Route("/v2/store/inventory")]
[SwaggerOperation("GetInventory")]
[SwaggerResponse(200, type: typeof(Dictionary))]
public virtual IActionResult GetInventory()
@@ -86,7 +86,7 @@ public virtual IActionResult GetInventory()
/// Invalid ID supplied
/// Order not found
[HttpGet]
- [Route("/store/order/{orderId}")]
+ [Route("/v2/store/order/{orderId}")]
[SwaggerOperation("GetOrderById")]
[SwaggerResponse(200, type: typeof(Order))]
public virtual IActionResult GetOrderById([FromRoute]long? orderId)
@@ -108,7 +108,7 @@ public virtual IActionResult GetOrderById([FromRoute]long? orderId)
/// successful operation
/// Invalid Order
[HttpPost]
- [Route("/store/order")]
+ [Route("/v2/store/order")]
[SwaggerOperation("PlaceOrder")]
[SwaggerResponse(200, type: typeof(Order))]
public virtual IActionResult PlaceOrder([FromBody]Order body)
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/UserApi.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/UserApi.cs
index 1cfacdd09a7..023fc4366bc 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/UserApi.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Controllers/UserApi.cs
@@ -48,7 +48,7 @@ public class UserApiController : Controller
/// Created user object
/// successful operation
[HttpPost]
- [Route("/user")]
+ [Route("/v2/user")]
[SwaggerOperation("CreateUser")]
public virtual void CreateUser([FromBody]User body)
{
@@ -63,7 +63,7 @@ public virtual void CreateUser([FromBody]User body)
/// List of user object
/// successful operation
[HttpPost]
- [Route("/user/createWithArray")]
+ [Route("/v2/user/createWithArray")]
[SwaggerOperation("CreateUsersWithArrayInput")]
public virtual void CreateUsersWithArrayInput([FromBody]List body)
{
@@ -78,7 +78,7 @@ public virtual void CreateUsersWithArrayInput([FromBody]List body)
/// List of user object
/// successful operation
[HttpPost]
- [Route("/user/createWithList")]
+ [Route("/v2/user/createWithList")]
[SwaggerOperation("CreateUsersWithListInput")]
public virtual void CreateUsersWithListInput([FromBody]List body)
{
@@ -94,7 +94,7 @@ public virtual void CreateUsersWithListInput([FromBody]List body)
/// Invalid username supplied
/// User not found
[HttpDelete]
- [Route("/user/{username}")]
+ [Route("/v2/user/{username}")]
[SwaggerOperation("DeleteUser")]
public virtual void DeleteUser([FromRoute]string username)
{
@@ -111,7 +111,7 @@ public virtual void DeleteUser([FromRoute]string username)
/// Invalid username supplied
/// User not found
[HttpGet]
- [Route("/user/{username}")]
+ [Route("/v2/user/{username}")]
[SwaggerOperation("GetUserByName")]
[SwaggerResponse(200, type: typeof(User))]
public virtual IActionResult GetUserByName([FromRoute]string username)
@@ -134,7 +134,7 @@ public virtual IActionResult GetUserByName([FromRoute]string username)
/// successful operation
/// Invalid username/password supplied
[HttpGet]
- [Route("/user/login")]
+ [Route("/v2/user/login")]
[SwaggerOperation("LoginUser")]
[SwaggerResponse(200, type: typeof(string))]
public virtual IActionResult LoginUser([FromQuery]string username, [FromQuery]string password)
@@ -154,7 +154,7 @@ public virtual IActionResult LoginUser([FromQuery]string username, [FromQuery]st
///
/// successful operation
[HttpGet]
- [Route("/user/logout")]
+ [Route("/v2/user/logout")]
[SwaggerOperation("LogoutUser")]
public virtual void LogoutUser()
{
@@ -171,7 +171,7 @@ public virtual void LogoutUser()
/// Invalid user supplied
/// User not found
[HttpPut]
- [Route("/user/{username}")]
+ [Route("/v2/user/{username}")]
[SwaggerOperation("UpdateUser")]
public virtual void UpdateUser([FromRoute]string username, [FromBody]User body)
{
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/ApiResponse.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/ApiResponse.cs
index e34c3edf374..ab83518032c 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/ApiResponse.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/ApiResponse.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// Describes the result of uploading an image resource
///
[DataContract]
public partial class ApiResponse : IEquatable
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Category.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Category.cs
index 15f10eb9aa7..8e1404c7338 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Category.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Category.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// A category for a pet
///
[DataContract]
public partial class Category : IEquatable
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Order.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Order.cs
index a49276583c6..b20143353cc 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Order.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Order.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// An order for a pets from the pet store
///
[DataContract]
public partial class Order : IEquatable
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Pet.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Pet.cs
index 6c4afd3b95e..9a6f87a2945 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Pet.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Pet.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// A pet for sale in the pet store
///
[DataContract]
public partial class Pet : IEquatable
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Tag.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Tag.cs
index 4f2cc3e5cef..55269f40675 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Tag.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/Tag.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// A tag for a pet
///
[DataContract]
public partial class Tag : IEquatable
diff --git a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/User.cs b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/User.cs
index 8933e370956..1dbde78cb0b 100644
--- a/samples/server/petstore/aspnet5/src/IO.Swagger/Models/User.cs
+++ b/samples/server/petstore/aspnet5/src/IO.Swagger/Models/User.cs
@@ -33,7 +33,7 @@
namespace IO.Swagger.Models
{
///
- ///
+ /// A User who is purchasing from the pet store
///
[DataContract]
public partial class User : IEquatable