Program.cs 1.5 KB

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