0Pricing
Java Academy · 课时

DTO 与验证

学习如何使用 DTO,并在 Spring Boot 中应用验证规则。

DTO 与验证 是 CoddyKit 上的免费 Java Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 3 节课。

简介

DTO(数据传输对象)用于在各层之间传递结构化数据。它们不是实体,也不是数据库模型。

为什么使用 DTO

DTO 只公开所需字段、隐藏数据库细节,并提高安全性,从而简化 API。

代码:DTO 类

一个简单的 DTO 定义字段以及获取器和设置器,并与数据库实体分离。

public class UserDto {
  private String name;
  private int age;

  // getters and setters
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
  public int getAge() { return age; }
  public void setAge(int age) { this.age = age; }
}

验证

验证可确保 DTO 数据符合要求(例如不为空且年龄为正数)。

代码:验证注解

使用 @NotBlank 和 @Min 等注解来强制执行验证规则。

import jakarta.validation.constraints.*;public class UserDto {
  @NotBlank
  private String name;
  @Min(0)
  private int age;

  // getters/setters omitted for brevity
}

代码:带验证的控制器

@Valid会在方法逻辑运行前触发 DTO 验证。

import org.springframework.web.bind.annotation.*;import org.springframework.validation.annotation.*;import jakarta.validation.*;@RestController
@RequestMapping("/users")
class UserController {
  @PostMapping
  public String create(@Valid @RequestBody UserDto dto) {
    return "Received: " + dto.getName() + ", " + dto.getAge();
  }
}

DTO 检查

快速检查:DTO 在 Spring Boot 中的作用是什么?

回顾

回顾:创建了 DTO,添加了验证注解,并在带有 @Valid 的控制器中使用了它。

常见问题解答

「DTO 与验证」课时是免费的吗?

是的 — 「DTO 与验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 3 节课。

「DTO 与验证」这节课中我会学到什么?

学习如何使用 DTO,并在 Spring Boot 中应用验证规则。 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。

「DTO 与验证」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 项目设置与 Starter
  2. DTO 与验证
  3. 小项目:REST API
← 返回 Java Academy