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

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,让代码更易读、易维护。

相关文章:

  • 达梦数据库学习笔记@3
  • Unity DOTS 从入门到精通之 创建实体
  • Unity引擎使用HybridCLR(华佗)热更新
  • LangChain构建语言模型驱动应用的强大框架
  • 深入理解Linux网络随笔(四):内核是如何与用户进程协作的(下篇:多路I/O复用模型epoll)
  • c语言笔记 数组进阶题目的理解
  • 网络基础(一)【网络发展/认识协议/网络 VS 系统/以太网通信原理/重谈协议/网络中的地址管理】
  • 15 HarmonyOS NEXT UVList组件开发指南(二)
  • 先序二叉树的线索化,并找指定结点的先序后继
  • 1-1 驱动开发HelloWorld
  • 【定制开发】碰一碰发视频系统定制开发,支持OEM
  • 【Java】认识String类、字符串不可变性 + StringBuilder和StringBuffer —— 有码有图有真相
  • Java多线程与高并发专题——关于CopyOnWrite 容器特点
  • Cursor 使用经验,一个需求开发全流程
  • Spring为什么要用三级缓存解决循环依赖?
  • Django模板语法及静态文件
  • 阿里云CTF2025 ---Web
  • Javascript 基础数据类型
  • AI多模态教程:DeepSeek多模态模型解析及实践指南
  • python re正则表达式
  • php购物商城/360优化关键词
  • 手机网站建设咨询/市场营销计划书模板
  • 金坛建设局网站/整站优化工具
  • asp网站开门/软文案例短篇
  • 网站首页包括哪些内容/郑州网站策划
  • 西安网站建设资讯/百度官网链接