fix enum convertor for api and razor

This commit is contained in:
MahanCh
2025-06-25 11:00:35 +03:30
parent d27b8484a2
commit 92f68d8555
5 changed files with 181 additions and 7 deletions

View File

@@ -21,6 +21,10 @@ using _0_Framework.Application.UID;
using _0_Framework.Exceptions.Handler;
using Microsoft.OpenApi.Models;
using ServiceHost.Test;
using System.Text.Json.Serialization;
using System.Text.Json;
using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
@@ -51,6 +55,7 @@ var connectionStringTestDb = builder.Configuration.GetConnectionString("TestDb")
//builder.Services.AddSingleton<IMongoDatabase>(mongoDatabase);
#endregion
builder.Services.AddSingleton<IActionResultExecutor<JsonResult>, CustomJsonResultExecutor>();
PersonalBootstrapper.Configure(builder.Services, connectionString);
TestDbBootStrapper.Configure(builder.Services, connectionStringTestDb);
AccountManagementBootstrapper.Configure(builder.Services, connectionString);
@@ -142,11 +147,15 @@ builder.Services.AddAuthorization(options =>
// });
builder.Services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.Converters.Add(new System.Text.Json.Serialization.JsonStringEnumConverter());
});
builder.Services.AddControllers().AddJsonOptions(options =>
{
options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});
//builder.Services.AddControllers(
//options=> {
// options.Filters.Add(new ApiJsonEnumFilter());
//});
builder.Services.AddRazorPages(options =>
@@ -181,8 +190,9 @@ builder.Services.AddSignalR();
#region Swagger
builder.Services.AddSwaggerGen(options =>
{
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
options.UseInlineDefinitionsForEnums();
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
options.IncludeXmlComments(xmlPath);
@@ -321,6 +331,7 @@ app.UseAuthorization();
//app.UseLoginHandlerMiddleware();
//app.UseCheckTaskMiddleware();
app.UseMiddleware<RazorJsonEnumOverrideMiddleware>();
#endregion