@@ -42,10 +42,7 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
42
42
{
43
43
//MVC
44
44
services . AddControllersWithViews (
45
- options =>
46
- {
47
- options . Filters . Add ( new AbpAutoValidateAntiforgeryTokenAttribute ( ) ) ;
48
- }
45
+ options => { options . Filters . Add ( new AbpAutoValidateAntiforgeryTokenAttribute ( ) ) ; }
49
46
) . AddNewtonsoftJson ( options =>
50
47
{
51
48
options . SerializerSettings . ContractResolver = new AbpMvcContractResolver ( IocManager . Instance )
@@ -78,6 +75,58 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
78
75
) ;
79
76
80
77
// Swagger - Enable this line and the related lines in Configure method to enable swagger UI
78
+ ConfigureSwagger ( services ) ;
79
+
80
+ // Configure Abp and Dependency Injection
81
+ return services . AddAbp < AbpProjectNameWebHostModule > (
82
+ // Configure Log4Net logging
83
+ options => options . IocManager . IocContainer . AddFacility < LoggingFacility > (
84
+ f => f . UseAbpLog4Net ( ) . WithConfig ( _hostingEnvironment . IsDevelopment ( )
85
+ ? "log4net.config"
86
+ : "log4net.Production.config"
87
+ )
88
+ )
89
+ ) ;
90
+ }
91
+
92
+ public void Configure ( IApplicationBuilder app , ILoggerFactory loggerFactory )
93
+ {
94
+ app . UseAbp ( options => { options . UseAbpRequestLocalization = false ; } ) ; // Initializes ABP framework.
95
+
96
+ app . UseCors ( _defaultCorsPolicyName ) ; // Enable CORS!
97
+
98
+ app . UseStaticFiles ( ) ;
99
+
100
+ app . UseRouting ( ) ;
101
+
102
+ app . UseAuthentication ( ) ;
103
+
104
+ app . UseAbpRequestLocalization ( ) ;
105
+
106
+
107
+ app . UseEndpoints ( endpoints =>
108
+ {
109
+ endpoints . MapHub < AbpCommonHub > ( "/signalr" ) ;
110
+ endpoints . MapControllerRoute ( "default" , "{controller=Home}/{action=Index}/{id?}" ) ;
111
+ endpoints . MapControllerRoute ( "defaultWithArea" , "{area}/{controller=Home}/{action=Index}/{id?}" ) ;
112
+ } ) ;
113
+
114
+ // Enable middleware to serve generated Swagger as a JSON endpoint
115
+ app . UseSwagger ( c => { c . RouteTemplate = "swagger/{documentName}/swagger.json" ; } ) ;
116
+
117
+ // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
118
+ app . UseSwaggerUI ( options =>
119
+ {
120
+ // specifying the Swagger JSON endpoint.
121
+ options . SwaggerEndpoint ( $ "/swagger/{ _apiVersion } /swagger.json", $ "AbpProjectName API { _apiVersion } ") ;
122
+ options . IndexStream = ( ) => Assembly . GetExecutingAssembly ( )
123
+ . GetManifestResourceStream ( "AbpCompanyName.AbpProjectName.Web.Host.wwwroot.swagger.ui.index.html" ) ;
124
+ options . DisplayRequestDuration ( ) ; // Controls the display of the request duration (in milliseconds) for "Try it out" requests.
125
+ } ) ; // URL: /swagger
126
+ }
127
+
128
+ private void ConfigureSwagger ( IServiceCollection services )
129
+ {
81
130
services . AddSwaggerGen ( options =>
82
131
{
83
132
options . SwaggerDoc ( _apiVersion , new OpenApiInfo
@@ -103,7 +152,8 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
103
152
// Define the BearerAuth scheme that's in use
104
153
options . AddSecurityDefinition ( "bearerAuth" , new OpenApiSecurityScheme ( )
105
154
{
106
- Description = "JWT Authorization header using the Bearer scheme. Example: \" Authorization: Bearer {token}\" " ,
155
+ Description =
156
+ "JWT Authorization header using the Bearer scheme. Example: \" Authorization: Bearer {token}\" " ,
107
157
Name = "Authorization" ,
108
158
In = ParameterLocation . Header ,
109
159
Type = SecuritySchemeType . ApiKey
@@ -126,53 +176,6 @@ public IServiceProvider ConfigureServices(IServiceCollection services)
126
176
options . IncludeXmlComments ( webCoreXmlPath ) ;
127
177
}
128
178
} ) ;
129
-
130
- // Configure Abp and Dependency Injection
131
- return services . AddAbp < AbpProjectNameWebHostModule > (
132
- // Configure Log4Net logging
133
- options => options . IocManager . IocContainer . AddFacility < LoggingFacility > (
134
- f => f . UseAbpLog4Net ( ) . WithConfig ( _hostingEnvironment . IsDevelopment ( )
135
- ? "log4net.config"
136
- : "log4net.Production.config"
137
- )
138
- )
139
- ) ;
140
- }
141
-
142
- public void Configure ( IApplicationBuilder app , ILoggerFactory loggerFactory )
143
- {
144
- app . UseAbp ( options => { options . UseAbpRequestLocalization = false ; } ) ; // Initializes ABP framework.
145
-
146
- app . UseCors ( _defaultCorsPolicyName ) ; // Enable CORS!
147
-
148
- app . UseStaticFiles ( ) ;
149
-
150
- app . UseRouting ( ) ;
151
-
152
- app . UseAuthentication ( ) ;
153
-
154
- app . UseAbpRequestLocalization ( ) ;
155
-
156
-
157
- app . UseEndpoints ( endpoints =>
158
- {
159
- endpoints . MapHub < AbpCommonHub > ( "/signalr" ) ;
160
- endpoints . MapControllerRoute ( "default" , "{controller=Home}/{action=Index}/{id?}" ) ;
161
- endpoints . MapControllerRoute ( "defaultWithArea" , "{area}/{controller=Home}/{action=Index}/{id?}" ) ;
162
- } ) ;
163
-
164
- // Enable middleware to serve generated Swagger as a JSON endpoint
165
- app . UseSwagger ( c => { c . RouteTemplate = "swagger/{documentName}/swagger.json" ; } ) ;
166
-
167
- // Enable middleware to serve swagger-ui assets (HTML, JS, CSS etc.)
168
- app . UseSwaggerUI ( options =>
169
- {
170
- // specifying the Swagger JSON endpoint.
171
- options . SwaggerEndpoint ( $ "/swagger/{ _apiVersion } /swagger.json", $ "AbpProjectName API { _apiVersion } ") ;
172
- options . IndexStream = ( ) => Assembly . GetExecutingAssembly ( )
173
- . GetManifestResourceStream ( "AbpCompanyName.AbpProjectName.Web.Host.wwwroot.swagger.ui.index.html" ) ;
174
- options . DisplayRequestDuration ( ) ; // Controls the display of the request duration (in milliseconds) for "Try it out" requests.
175
- } ) ; // URL: /swagger
176
179
}
177
180
}
178
181
}
0 commit comments