Skip to content

Commit 2e2ad10

Browse files
Chris Martinezcommonsensesoftware
authored andcommitted
Update OData Swagger samples
1 parent 5aed12d commit 2e2ad10

File tree

6 files changed

+19
-30
lines changed

6 files changed

+19
-30
lines changed

samples/aspnetcore/SwaggerODataSample/Startup.cs

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace Microsoft.Examples
22
{
3-
using Microsoft.AspNet.OData;
43
using Microsoft.AspNet.OData.Builder;
54
using Microsoft.AspNet.OData.Extensions;
65
using Microsoft.AspNetCore.Builder;
@@ -12,8 +11,6 @@
1211
using System.IO;
1312
using System.Reflection;
1413
using static Microsoft.AspNet.OData.Query.AllowedQueryOptions;
15-
using static Microsoft.AspNetCore.Mvc.CompatibilityVersion;
16-
using static Microsoft.OData.ODataUrlKeyDelimiter;
1714

1815
/// <summary>
1916
/// Represents the startup process for the application.
@@ -26,9 +23,7 @@ public class Startup
2623
/// <param name="services">The collection of services to configure the application with.</param>
2724
public void ConfigureServices( IServiceCollection services )
2825
{
29-
// the sample application always uses the latest version, but you may want an explicit version such as Version_2_2
30-
// note: Endpoint Routing is enabled by default; however, it is unsupported by OData and MUST be false
31-
services.AddMvc( options => options.EnableEndpointRouting = false ).SetCompatibilityVersion( Latest );
26+
services.AddControllers();
3227
services.AddApiVersioning( options => options.ReportApiVersions = true );
3328
services.AddOData().EnableApiVersioning();
3429
services.AddODataApiExplorer(
@@ -75,18 +70,12 @@ public void ConfigureServices( IServiceCollection services )
7570
/// <param name="provider">The API version descriptor provider used to enumerate defined API versions.</param>
7671
public void Configure( IApplicationBuilder app, VersionedODataModelBuilder modelBuilder, IApiVersionDescriptionProvider provider )
7772
{
78-
app.UseMvc(
79-
routeBuilder =>
73+
app.UseRouting();
74+
app.UseEndpoints(
75+
endpoints =>
8076
{
81-
// the following will not work as expected
82-
// BUG: https://github.com/OData/WebApi/issues/1837
83-
// routeBuilder.SetDefaultODataOptions( new ODataOptions() { UrlKeyDelimiter = Parentheses } );
84-
routeBuilder.ServiceProvider.GetRequiredService<ODataOptions>().UrlKeyDelimiter = Parentheses;
85-
86-
// global odata query options
87-
routeBuilder.Count();
88-
89-
routeBuilder.MapVersionedODataRoute( "odata", "api", modelBuilder );
77+
endpoints.Count();
78+
endpoints.MapVersionedODataRoute( "odata", "api", modelBuilder );
9079
} );
9180
app.UseSwagger();
9281
app.UseSwaggerUI(

samples/aspnetcore/SwaggerODataSample/V1/OrdersController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class OrdersController : ODataController
2424
/// <returns>The requested order.</returns>
2525
/// <response code="200">The order was successfully retrieved.</response>
2626
/// <response code="404">The order does not exist.</response>
27-
[ODataRoute( "({key})" )]
27+
[ODataRoute( "{key}" )]
2828
[Produces( "application/json" )]
2929
[ProducesResponseType( typeof( Order ), Status200OK )]
3030
[ProducesResponseType( Status404NotFound )]
@@ -78,7 +78,7 @@ public IActionResult Post( [FromBody] Order order )
7878
/// <response code="200">The line items were successfully retrieved.</response>
7979
/// <response code="404">The order does not exist.</response>
8080
[HttpGet]
81-
[ODataRoute( "({key})/LineItems" )]
81+
[ODataRoute( "{key}/LineItems" )]
8282
[Produces( "application/json" )]
8383
[ProducesResponseType( typeof( ODataValue<IEnumerable<LineItem>> ), Status200OK )]
8484
[ProducesResponseType( Status404NotFound )]

samples/aspnetcore/SwaggerODataSample/V2/OrdersController.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public IQueryable<Order> Get()
4545
/// <returns>The requested order.</returns>
4646
/// <response code="200">The order was successfully retrieved.</response>
4747
/// <response code="404">The order does not exist.</response>
48-
[ODataRoute( "({key})" )]
48+
[ODataRoute( "{key}" )]
4949
[Produces( "application/json" )]
5050
[ProducesResponseType( typeof( Order ), Status200OK )]
5151
[ProducesResponseType( Status404NotFound )]
@@ -84,7 +84,7 @@ public IActionResult Post( [FromBody] Order order )
8484
/// <response code="204">The order was successfully updated.</response>
8585
/// <response code="400">The order is invalid.</response>
8686
/// <response code="404">The order does not exist.</response>
87-
[ODataRoute( "({key})" )]
87+
[ODataRoute( "{key}" )]
8888
[Produces( "application/json" )]
8989
[ProducesResponseType( typeof( Order ), Status200OK )]
9090
[ProducesResponseType( Status204NoContent )]
@@ -128,7 +128,7 @@ public IActionResult Patch( int key, Delta<Order> delta )
128128
/// <response code="400">The parameters are invalid.</response>
129129
/// <response code="404">The order does not exist.</response>
130130
[HttpPost]
131-
[ODataRoute( "({key})/Rate" )]
131+
[ODataRoute( "{key}/Rate" )]
132132
[ProducesResponseType( Status204NoContent )]
133133
[ProducesResponseType( Status400BadRequest )]
134134
[ProducesResponseType( Status404NotFound )]
@@ -151,7 +151,7 @@ public IActionResult Rate( int key, ODataActionParameters parameters )
151151
/// <response code="200">The line items were successfully retrieved.</response>
152152
/// <response code="404">The order does not exist.</response>
153153
[HttpGet]
154-
[ODataRoute( "({key})/LineItems" )]
154+
[ODataRoute( "{key}/LineItems" )]
155155
[Produces( "application/json" )]
156156
[ProducesResponseType( typeof( ODataValue<IEnumerable<LineItem>> ), Status200OK )]
157157
[ProducesResponseType( Status404NotFound )]

samples/aspnetcore/SwaggerODataSample/V3/OrdersController.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public IQueryable<Order> Get()
4646
/// <returns>The requested order.</returns>
4747
/// <response code="200">The order was successfully retrieved.</response>
4848
/// <response code="404">The order does not exist.</response>
49-
[ODataRoute( "({key})" )]
49+
[ODataRoute( "{key}" )]
5050
[Produces( "application/json" )]
5151
[ProducesResponseType( typeof( Order ), Status200OK )]
5252
[ProducesResponseType( Status404NotFound )]
@@ -84,7 +84,7 @@ public IActionResult Post( [FromBody] Order order )
8484
/// <response code="204">The order was successfully updated.</response>
8585
/// <response code="400">The order is invalid.</response>
8686
/// <response code="404">The order does not exist.</response>
87-
[ODataRoute( "({key})" )]
87+
[ODataRoute( "{key}" )]
8888
[Produces( "application/json" )]
8989
[ProducesResponseType( typeof( Order), Status200OK )]
9090
[ProducesResponseType( Status204NoContent )]
@@ -112,7 +112,7 @@ public IActionResult Patch( int key, Delta<Order> delta )
112112
/// <returns>None</returns>
113113
/// <response code="204">The order was successfully canceled.</response>
114114
/// <response code="404">The order does not exist.</response>
115-
[ODataRoute( "({key})" )]
115+
[ODataRoute( "{key}" )]
116116
[ProducesResponseType( Status204NoContent )]
117117
[ProducesResponseType( Status404NotFound )]
118118
public IActionResult Delete( int key, bool suspendOnly ) => NoContent();
@@ -141,7 +141,7 @@ public IActionResult Patch( int key, Delta<Order> delta )
141141
/// <response code="400">The parameters are invalid.</response>
142142
/// <response code="404">The order does not exist.</response>
143143
[HttpPost]
144-
[ODataRoute( "({key})/Rate" )]
144+
[ODataRoute( "{key}/Rate" )]
145145
[ProducesResponseType( Status204NoContent )]
146146
[ProducesResponseType( Status400BadRequest )]
147147
[ProducesResponseType( Status404NotFound )]
@@ -164,7 +164,7 @@ public IActionResult Rate( int key, ODataActionParameters parameters )
164164
/// <response code="200">The line items were successfully retrieved.</response>
165165
/// <response code="404">The order does not exist.</response>
166166
[HttpGet]
167-
[ODataRoute( "({key})/LineItems" )]
167+
[ODataRoute( "{key}/LineItems" )]
168168
[Produces( "application/json" )]
169169
[ProducesResponseType( typeof( ODataValue<IEnumerable<LineItem>> ), Status200OK )]
170170
[ProducesResponseType( Status404NotFound )]

samples/aspnetcore/SwaggerODataSample/V3/SuppliersController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class SuppliersController : ODataController
2020
/// Retrieves all suppliers.
2121
/// </summary>
2222
/// <returns>All available suppliers.</returns>
23-
/// <response code="200">Products successfully retrieved.</response>
23+
/// <response code="200">Suppliers successfully retrieved.</response>
2424
[EnableQuery]
2525
[Produces( "application/json" )]
2626
[ProducesResponseType( typeof( ODataValue<IEnumerable<Supplier>> ), Status200OK )]

samples/webapi/SwaggerODataWebApiSample/V3/SuppliersController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class SuppliersController : ODataController
2222
/// Retrieves all suppliers.
2323
/// </summary>
2424
/// <returns>All available suppliers.</returns>
25-
/// <response code="200">Products successfully retrieved.</response>
25+
/// <response code="200">Suppliers were successfully retrieved.</response>
2626
[EnableQuery]
2727
[ResponseType( typeof( ODataValue<IEnumerable<Supplier>> ) )]
2828
public IQueryable<Supplier> Get() => suppliers;

0 commit comments

Comments
 (0)