@@ -100,31 +100,26 @@ public static async Task Main(string[] args)
100100 builder . Services . AddValidatorsFromAssemblyContaining < MovieViewValidator > ( ServiceLifetime . Transient ) ;
101101 builder . Services . AddEndpointsApiExplorer ( ) ;
102102 builder . Services . AddSwaggerGen ( c => {
103- c . SwaggerDoc ( "v1" , new OpenApiInfo { Title = "StarWars API" , Version = "v1" } ) ;
103+ c . SwaggerDoc ( "movies" , new OpenApiInfo { Title = "Movies API" } ) ;
104+ c . SwaggerDoc ( "webjet" , new OpenApiInfo { Title = "WebJet API" } ) ;
105+ c . SwaggerDoc ( "orders" , new OpenApiInfo { Title = "Orders API" } ) ;
104106 } ) ;
105107
106108 var app = builder . Build ( ) ;
107109
108110 app . UseMiddleware < CorrelationIdMiddleware > ( ) ;
109111
110- // Load and cache orders at startup
111- using ( var scope = app . Services . CreateScope ( ) )
112- {
113- var orderService = scope . ServiceProvider . GetRequiredService < IOrderService > ( ) ;
114- var env = scope . ServiceProvider . GetRequiredService < IWebHostEnvironment > ( ) ;
115- await orderService . CacheOrdersAsync ( env . ContentRootPath ) ;
116- }
112+ using var scope = app . Services . CreateScope ( ) ;
113+ var env = scope . ServiceProvider . GetRequiredService < IWebHostEnvironment > ( ) ;
114+ var orderService = scope . ServiceProvider . GetRequiredService < IOrderService > ( ) ;
115+ var dbInitializer = scope . ServiceProvider . GetRequiredService < IDatabaseInitializer > ( ) ;
116+
117+ // Cache orders from JSON file for soft startup
118+ await orderService . CacheOrdersAsync ( env . ContentRootPath ) ;
117119
118120 // DB seeding from JSON file for soft startup
119- using ( var scope = app . Services . CreateScope ( ) )
120- {
121- var services = scope . ServiceProvider ;
122- var env = scope . ServiceProvider . GetRequiredService < IWebHostEnvironment > ( ) ;
123- var dbInitializer = services . GetRequiredService < IDatabaseInitializer > ( ) ;
124- await dbInitializer . SeedAsync ( env . ContentRootPath ) ;
125- }
121+ await dbInitializer . SeedAsync ( env . ContentRootPath ) ;
126122
127- // Configure the HTTP request pipeline.
128123 if ( app . Environment . IsDevelopment ( ) )
129124 {
130125 app . UseSwagger ( ) ;
@@ -137,9 +132,11 @@ public static async Task Main(string[] args)
137132 app . UseSwagger ( ) ;
138133 app . UseSwaggerUI ( c =>
139134 {
140- c . DocumentTitle = "Swagger - StarWars API" ;
141- c . SwaggerEndpoint ( "/swagger/v1/swagger.json" , "StarWars API V1" ) ;
135+ c . DocumentTitle = "StarWars API" ;
142136 c . RoutePrefix = string . Empty ;
137+ c . SwaggerEndpoint ( "/swagger/movies/swagger.json" , "Movies API" ) ;
138+ c . SwaggerEndpoint ( "/swagger/webjet/swagger.json" , "WebJet API" ) ;
139+ c . SwaggerEndpoint ( "/swagger/orders/swagger.json" , "Orders API" ) ;
143140 } ) ;
144141 app . UseRouting ( ) ;
145142 app . UseAuthentication ( ) ;
0 commit comments