1.集成log4net
安装如下扩展依赖即可,已经包含了log4net依赖:
Microsoft.Extensions.Logging.Log4Net.AspNetCore
添加日志配置文件:
日志配置文件属性设置为始终复制:
注入服务:
#region 注入log4net日志服务
builder.Logging.AddLog4Net("Config/log4net.config");
#endregion
此时集成完毕。
2.集成automapper
安装如下依赖,此版本已经合并扩展依赖。
AutoMapper
编写配置映射类:
代码如下:
using AutoMapper;
using DataApi.Model.Dto;
using DataApi.Model.Entity;
namespace DataApi.Extension
{
/// <summary>
/// 映射描述类
/// </summary>
public class AutoMapperProfile : Profile
{
/// <summary>
/// 构造函数
/// </summary>
public AutoMapperProfile()
{
//部门
CreateMap<SysDept, SysDeptDto>();
}
}
}
注册服务:
#region 注入AutoMapper服务
builder.Services.AddAutoMapper(typeof(AutoMapperProfile));
#endregion
使用过程如下:
[HttpGet]
[Route("list")]
public async Task<ApiResult> GetSysDepts()
{
List<SysDept> sysDepts = await _sysDeptRepository.GetListAsync(opt => opt.DeptId == 100);
return ApiResult.Success(_mapper.Map<List<SysDeptDto>>(sysDepts));
}
对应的实体类和dto如下:
3.响应json时间本地化
安装如下依赖:
Microsoft.AspNetCore.Mvc.NewtonsoftJson
更改响应时间格式:
#region 更改响应时间格式
builder.Services.AddControllers()
.AddNewtonsoftJson(options =>
{
//更改响应时间格式
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
});
#endregion
4.集成跨域
注入服务:
#region 注入跨域服务
builder.Services.AddCors(options =>
{
options.AddPolicy("Cors", policy => policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
});
#endregion
添加跨域中间件:
# region 跨域中间件
app.UseCors("Cors");
#endregion