在ASP.NET Core Web API中,可以使用AutoMapper来将第三方API响应映射到自定义DTO模型。下面是使用AutoMapper的示例代码:
Install-Package AutoMapper
public class MyDto
{
public string Name { get; set; }
public int Age { get; set; }
// Add more properties if needed
}
public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap()
.ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.FullName))
.ForMember(dest => dest.Age, opt => opt.MapFrom(src => src.YearsOld));
}
}
在上面的代码中,使用CreateMap方法创建了一个映射,将ThirdPartyApiResponse映射到MyDto。ForMember方法指定了映射规则,例如FullName属性映射到DTO类的Name属性。
public void ConfigureServices(IServiceCollection services)
{
services.AddAutoMapper(typeof(MappingProfile));
// Add other services if needed
}
public IActionResult GetDataFromThirdPartyApi([FromServices]IMapper mapper)
{
var responseFromApi = externalApiClient.GetData();
var dtoObject = mapper.Map(responseFromApi);
// Do something