Program.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Products.API.Middlewares;
  2. using Products.Business.Persistence;
  3. using Products.Business.Repository;
  4. using Products.Business.Service;
  5. namespace Products.API;
  6. internal class Program
  7. {
  8. public static void Main(string[] args)
  9. {
  10. var builder = WebApplication.CreateBuilder(args);
  11. var corsPolicyName = "MyAllowSpecificOrigins";
  12. // Add services to the container.
  13. builder.Services.AddControllers().AddNewtonsoftJson();
  14. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  15. builder.Services.AddEndpointsApiExplorer();
  16. builder.Services.AddSwaggerGen();
  17. builder.Services.AddScoped<IProductService, ProductService>();
  18. builder.Services.AddScoped<IProductRepository, ProductRepository>();
  19. builder.Services.AddDbContext<DataContext>();
  20. builder.Services.Configure<RouteOptions>(options => options.LowercaseUrls = true);
  21. builder.Services.AddCors(
  22. options =>
  23. {
  24. options.AddPolicy(
  25. corsPolicyName,
  26. corsPolicyBuilder => corsPolicyBuilder
  27. .AllowAnyOrigin()
  28. .AllowAnyMethod()
  29. .AllowAnyHeader());
  30. });
  31. var app = builder.Build();
  32. // Configure the HTTP request pipeline.
  33. if (app.Environment.IsDevelopment())
  34. {
  35. app.UseSwagger();
  36. app.UseSwaggerUI();
  37. }
  38. app.UseHttpsRedirection();
  39. app.UseAuthorization();
  40. app.ConfigureExceptionHandler();
  41. app.UseCors(corsPolicyName);
  42. app.MapControllers();
  43. app.Run();
  44. }
  45. }