1
- using System ;
2
- using System . IO ;
3
-
4
- using Microsoft . AspNetCore . Builder ;
1
+ using Microsoft . AspNetCore . Builder ;
5
2
using Microsoft . AspNetCore . Hosting ;
6
3
using Microsoft . Extensions . Configuration ;
7
4
using Microsoft . Extensions . DependencyInjection ;
8
5
6
+ using NJsonSchema ;
7
+
9
8
using Newtonsoft . Json . Converters ;
10
9
11
- using Swashbuckle . AspNetCore . Swagger ;
10
+ using NSwag . AspNetCore ;
12
11
13
12
namespace SwaggerDemo . WebAPI
14
13
{
@@ -28,36 +27,23 @@ public void ConfigureServices(IServiceCollection services)
28
27
. AddApiExplorer ( )
29
28
. AddJsonFormatters ( )
30
29
. AddJsonOptions ( _ => { _ . SerializerSettings . Converters . Add ( new StringEnumConverter ( ) ) ; } ) ;
31
-
32
- services . AddSwaggerGen (
33
- _ =>
34
- {
35
- _ . SwaggerDoc ( "v1" , new Info { Title = "WebAPI" , Version = "v1" , Contact = new Contact { Name = "CaringDev" } } ) ;
36
- _ . IncludeXmlComments ( Path . Combine ( AppContext . BaseDirectory , "WebAPI.xml" ) ) ;
37
- _ . IgnoreObsoleteActions ( ) ;
38
- _ . DescribeAllEnumsAsStrings ( ) ;
39
- } ) ;
40
30
}
41
31
42
32
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
43
33
public void Configure ( IApplicationBuilder app , IHostingEnvironment env )
44
34
{
45
35
if ( env . IsDevelopment ( ) )
46
36
{
47
- app
48
- . UseDeveloperExceptionPage ( )
49
- . UseSwaggerUI (
50
- _ =>
51
- {
52
- _ . SwaggerEndpoint ( "/swagger/v1/swagger.json" , "WebAPI V1" ) ;
53
- _ . ShowJsonEditor ( ) ;
54
- _ . EnabledValidator ( ) ;
55
- } ) ;
37
+ app . UseDeveloperExceptionPage ( ) . UseSwaggerUi (
38
+ typeof ( Startup ) . Assembly ,
39
+ s =>
40
+ {
41
+ s . GeneratorSettings . DefaultEnumHandling = EnumHandling . String ;
42
+ s . UseJsonEditor = true ;
43
+ } ) ;
56
44
}
57
45
58
- app
59
- . UseMvc ( )
60
- . UseSwagger ( ) ;
46
+ app . UseMvc ( ) ;
61
47
}
62
48
}
63
49
}
0 commit comments