例如,用戶User包含密碼,但返回到前端的數據不能包含密碼等敏感字段。我們可以創建壹個UserVO並返回沒有密碼的數據。妳可以通過“領域驅動”了解更多相關VO、DTO、PO的區別和用途。
妳可能會說專門為表示層創建VO很繁瑣,bean之間的轉換就成了問題。
此處建議使用Mapstruct。Mapstruct使用註釋驅動完成轉換代碼的生成,妳只需要提供Mapper接口。
例如,User和UserVO之間的轉換:
@Mapper(componentModel = "spring ",uses = {})
公共接口用戶映射程序{
UserVO userToUserVO(用戶User);
}