当前位置: 首页 > article >正文

DTO 命名规范指南

在项目实践中,将查询对象返回对象都使用 DTO 后缀是可以的,但通常有更清晰的命名规范,帮助区分两者的作用。

🚨 推荐的命名规范

  1. 请求数据(查询参数、请求体等) → 使用 Request / Query 后缀
  2. 返回数据(响应体、结果对象等) → 使用 DTO / Response 后缀

🟢 示例

查询对象(Request/Query)

  • UserQuery / UserRequest
  • OrderSearchRequest
  • ProductFilterDTO(少数场景下也可用 DTO

返回对象(DTO/Response)

  • UserDTO / UserResponse
  • OrderDetailDTO
  • ProductInfoDTO

🔎 示例代码

UserQuery(查询参数)

public class UserQuery {
    private String username;
    private String email;
    private Integer age;
    
    // getters and setters
}

UserDTO(返回对象)

public class UserDTO {
    private String username;
    private String email;
    private String roleName;

    public UserDTO(String username, String email, String roleName) {
        this.username = username;
        this.email = email;
        this.roleName = roleName;
    }

    // getters and setters
}

Controller 示例

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping("/search")
    public ResponseEntity<List<UserDTO>> searchUsers(UserQuery query) {
        List<UserDTO> users = userService.findUsers(query);
        return ResponseEntity.ok(users);
    }
}

⚙️ 为什么区分更好?

可读性更强UserQuery 明确表示它是请求数据,UserDTO 表示它是响应数据。
维护性更好:在项目规模变大时,区分两者有助于快速定位和理解代码。
更符合开发习惯:例如 Spring BootMyBatis-PlusSwagger 等主流框架多推荐这种规范。

🧑‍💻 统一使用 DTO 后缀的变通方式

  • 查询对象 ➔ UserQueryDTO
  • 返回对象 ➔ UserResultDTO / UserDetailDTO

🚀 最佳实践是采用更具语义化的命名方式,如 Request / DTO / Response,让代码更易读、易维护。


http://www.kler.cn/a/577018.html

相关文章:

  • Cursor 使用经验,一个需求开发全流程
  • 阿里云CTF2025 ---Web
  • Python条件语句:if-elif vs match 详解
  • 深入理解Vue Router:构建单页应用的导航利器
  • 【FPGA】导航
  • 常用Shell脚本总结
  • SQL Server核心知识总结
  • C# 异步任务队列封装
  • RocketMQ提供了哪些过滤机制?
  • OpenSSL 使用方法汇总:从证书管理到加密解密全解析
  • 【从0到1构建实时聊天系统:Spring Boot + Vue3 + WebSocket全栈实战】
  • leetcode日记(86)恢复二叉搜索树
  • 无线电家电遥控系统的设计(论文+源码)
  • pyside6学习专栏(十一):在PySide6中实现一简易的画板程序
  • 备赛蓝桥杯之第十五届职业院校组省赛第六题:简易JSX解析器
  • Unity Shader编程】之基础纹理
  • ESP8266 NodeMCU 与 Atmega16 微控制器连接以发送电子邮件
  • 【linux网络编程】套接字socket
  • 迷宫【BFS+结构体\pair】
  • 力扣每日一题——2597. 美丽子集的数目