java - 避免每次在 spring 中检查 dto 处的非空和非空变量

标签 java spring spring-boot isnullorempty

我有以下方法,如果数据非空或非空,则更新用户数据

public Users updateUser(Users requestBody) throws AppServiceException {

        Users user = new Users();
        try {

            user = userDAO.getUserByUserId(requestBody.getUserId());

        if (requestBody.getRole() != null && !requestBody.getRole().isEmpty()) {
            user.setRole(requestBody.getRole());
        }

        if (requestBody.getUserName() != null && !requestBody.getUserName().isEmpty()) {
            user.setUserName(requestBody.getUserName());
        }

        if (requestBody.getChannelType() != null && !requestBody.getChannelType().isEmpty()) {
            user.setChannelType(requestBody.getChannelType());
        }

        if (requestBody.getStatus() != null && !requestBody.getStatus().isEmpty()) {
            user.setStatus(requestBody.getStatus());
        }
        if (requestBody.getDevice() != null) {
            user.setDevice(requestBody.getDevice());
        }

        user.setUpdatedDate(new Date());

        user = userDAO.updateUser(user);


        } catch (Exception e) {

            e.printStackTrace();
            throw new AppServiceException(AppServiceException._FAIL_TO_UPDATE);
        }
        return user;
    }

我每次都会检查 nonNull 和 isEmpty 的值。

如何避免这种情况?

最佳答案

您可以使用 Apache commons lang 的 StringUtils.isEmpty(java.lang.String)

Checks if a String is empty ("") or null.

如果您的代码:

if (StringUtils.isEmpty(requestBody.getStatus())) {

关于java - 避免每次在 spring 中检查 dto 处的非空和非空变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53297195/

相关文章:

java - 如何在java中同步循环,以便我可以手动增加循环值(当某些执行完成时)

Spring Batch 为 H2 在 SQL 语句中创建语法错误

MySQL/JPA 字段没有默认值错误,即使该字段位于类层次结构中的不同类中

java - 使用 cometD 向服务器上的客户端发送消息

java - SQL查询在java中使用arraylist创建arraylist

java - PocessBuilder 程序无法远程连接到 JMX

java - Spring Boot elasticsearch 健康管理 : ConnectException: Connection refused

java - 在非托管 @Bean 上使用 @ConfigurationProperties

java - 第一次加载 jsp 页面时 Spring url 无法正确解析,第一次点击后可以正常工作

java - Spring应用程序未运行