DependencyInjection.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Web.Api.Common;
  2. using Microsoft.OpenApi.Models;
  3. namespace Web.Api;
  4. public static class DependencyInjection
  5. {
  6. public static IServiceCollection AddPresentation(this IServiceCollection services)
  7. {
  8. services.AddExceptionHandler<GlobalExceptionHandler>();
  9. services.AddProblemDetails();
  10. services.AddEndpointsApiExplorer();
  11. services.AddSwaggerGen(options =>
  12. {
  13. options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
  14. {
  15. Name = "Authorization",
  16. Type = SecuritySchemeType.Http,
  17. Scheme = "bearer",
  18. BearerFormat = "JWT",
  19. In = ParameterLocation.Header,
  20. Description = "JWT 토큰을 입력하세요."
  21. });
  22. options.AddSecurityRequirement(new OpenApiSecurityRequirement
  23. {
  24. {
  25. new OpenApiSecurityScheme
  26. {
  27. Reference = new OpenApiReference
  28. {
  29. Type = ReferenceType.SecurityScheme,
  30. Id = "Bearer"
  31. }
  32. },
  33. Array.Empty<string>()
  34. }
  35. });
  36. });
  37. return services;
  38. }
  39. }