Слияние кода завершено, страница обновится автоматически
using Infrastructure.Helper;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ApplicationParts;
using Microsoft.Extensions.DependencyInjection;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using System.Linq;
using System.Reflection;
namespace ZR.Common.DynamicApiSimple.Extens
{
public static class DynamicApiExtens
{
public static string TIME_FORMAT_FULL = "yyyy-MM-dd HH:mm:ss";
/// <summary>
/// 注入动态api
/// </summary>
/// <param name="services"></param>
/// <returns></returns>
public static IServiceCollection AddDynamicApi(this IServiceCollection services)
{
services.AddMvc()
.ConfigureApplicationPartManager(m =>
{
foreach (Assembly assembly in AssemblyUtils.GetAssemblies())
{
if (m.ApplicationParts.Any(it => it.Name.Equals(assembly.FullName.Split(',')[0]))) continue;
m.ApplicationParts.Add(new AssemblyPart(assembly));
}
m.FeatureProviders.Add(new ApiFeatureProvider());
}).AddNewtonsoftJson(options =>
{
options.SerializerSettings.DateFormatString = TIME_FORMAT_FULL;
options.SerializerSettings.Converters.Add(new IsoDateTimeConverter
{
DateTimeFormat = TIME_FORMAT_FULL,
});
// 设置为驼峰命名
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
services.Configure<MvcOptions>(o =>
{
o.Conventions.Add(new ApiConvention());
});
return services;
}
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )