Program.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
  21. builder.Services.Configure<RouteOptions>(options => options.LowercaseUrls = true);
  22. builder.Services.AddCors(
  23. options =>
  24. {
  25. options.AddPolicy(
  26. corsPolicyName,
  27. corsPolicyBuilder => corsPolicyBuilder
  28. .AllowAnyOrigin()
  29. .AllowAnyMethod()
  30. .AllowAnyHeader());
  31. });
  32. var app = builder.Build();
  33. // Configure the HTTP request pipeline.
  34. if (app.Environment.IsDevelopment())
  35. {
  36. app.UseSwagger();
  37. app.UseSwaggerUI();
  38. }
  39. app.UseHttpsRedirection();
  40. app.UseAuthorization();
  41. app.ConfigureExceptionHandler();
  42. app.UseCors(corsPolicyName);
  43. app.MapControllers();
  44. app.Run();
  45. }
  46. }