哪个 DTO 类是正确的结构?

问题描述 投票:0回答:1

我正在学习 DTO,我有一个问题。 这两个示例中哪一个是创建 DTO 类的正确方法。 第一个例子

package com.example.matchescrud.dto;

import com.example.matchescrud.dto.response.MatchResponseDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;

@AllArgsConstructor
@NoArgsConstructor
@Data

public class TeamDTO {
    private Long id;
    private String name;
    private DivisionDTO division;
    private CityDTO city;
    private StadiumDTO stadium;
    private List<MatchResponseDTO> homeMatches;
    private List<MatchResponseDTO> awayMatches;
}

第二个例子

package com.example.matchescrud.dto;

import com.example.matchescrud.model.entity.City;
import com.example.matchescrud.model.entity.Division;
import com.example.matchescrud.model.entity.Match;
import com.example.matchescrud.model.entity.Stadium;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;

@AllArgsConstructor
@NoArgsConstructor
@Data

public class TeamDTO {
    private Long id;
    private String name;
    private Division division;
    private City city;
    private Stadium stadium;
    private List<Match> homeMatches;
    private List<Match> awayMatches;
}

对象属性应该是 DTO 的还是必须是普通对象?

java spring dto
1个回答
0
投票

据我所知,这两个示例之间的区别在于

List
的泛型类型:

  1. List<MatchResponseDTO>
  2. List<Match>

#1 是正确的。如果您的 DTO 中有非 DTO 数据,则它不是完整的 DTO。

我将用一个例子来详细说明:想象你有一个

Team
List<Player>
s。如果
Player
有密码等登录信息,您就不想公开它。

© www.soinside.com 2019 - 2024. All rights reserved.