在C# Web API中处理数据转换,通常需要遵循以下步骤:
public class UserData
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
public class UserDto
{
public int Id { get; set; }
public string FullName { get; set; }
}
dotnet add package AutoMapper
然后,在控制器中配置AutoMapper映射规则:
public class UsersController : ApiController
{
private readonly IMapper _mapper;
public UsersController(IMapper mapper)
{
_mapper = mapper;
}
// GET: api/users
public IHttpActionResult GetUsers()
{
var users = _context.Users.ToList();
return Ok(_mapper.Map<List<UserDto>>(users));
}
}
在这个例子中,我们使用AutoMapper将List<UserData>
转换为List<UserDto>
。
ValueConverter
的类:public class UserDataToUserDtoConverter : ValueConverter<UserData, UserDto>
{
protected override UserDto Convert(UserData source)
{
return new UserDto
{
Id = source.Id,
FullName = $"{source.FirstName} {source.LastName}"
};
}
}
接下来,在AutoMapper配置中注册这个转换器:
var config = new MapperConfiguration(cfg =>
{
cfg.AddProfile<CustomMapperProfile>();
});
IMapper mapper = config.CreateMapper();
最后,在控制器中使用这个转换器:
public IHttpActionResult GetUsers()
{
var users = _context.Users.ToList();
return Ok(mapper.Map<List<UserDto>>(users));
}
这样,你就可以在C# Web API中处理数据转换了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。