我最近在学习DTO。其中,请求DTO可以通过多种方式创建。作为一个例子,我们将举两个与用户相关的创建和更新示例。
要创建一个用户,假设它需要姓名、性别、年龄、电话号码。
然后我的UserCreateRequest estDTO将由一个表单组成,该表单接收姓名、性别、年龄、电话号码作为参数。
@Getter
public class UserCreateRequestDTO {
private String name;
private String sex;
private String age;
private String phoneNumber;
... etc ()
}
接下来,我们将编辑用户信息。性别,年龄,没有名字的电话号码,比如说你可以编辑它。
如果是这样,我的UserUpdateRequestDTO将由接收性别、年龄和电话号码作为参数组成。
@Getter
public class UserUpdateRequestDTO {
private String sex;
private String age;
private String phoneNumber;
... etc ()
}
到目前为止,这两个应用领域非常相似。
有问题,看起来你在写不必要的代码。
如果是这样,我有一个问题要总结一下,或者清除错误的部分。
@Getter
public class UserRequestDTO {
private String name;
private String sex;
private String age;
private String phoneNumber;
private String etc;
... etc
}
@Getter
public class UserCreateRequestDTO {
private User user;
... etc
}
@Getter
public class UserUpdateRequestDTO {
private User user;
... etc
}
////
@Getter
@Setter
public class User {
private String name;
private String sex;
private String age;
private String phoneNumber;
}
换句话说,您想知道何时需要创建更多请求DTO,以及是否可以重复使用它们。
不同的数据有不同的用途,它们的名字告诉你该怎么做。为了更好地维护和测试,您不必更改一个endpoint来影响另一个endpoint。我也讨厌将DTO复制到属性,但开源工具可以缓解这些症状。干杯
根据我的个人经验,我更喜欢晶莹剔透的分离DTO。它会让你以后的生活绝对更轻松。它还需要更多重复和无聊的代码,但最终它可以很容易地测试和维护。它允许你的接口/服务独立变化。
如中所述https://medium.com/@schneidenbach/restful-api-best-practices-and-common-pittles-7a83ba3763b5
我喜欢把事情简单化。每个控制器(有时是endpoint,取决于需要)都有自己的DTO,用于处理请求。我的GET通常会返回数据的子集,PUTs/POST仅限于更新我想要更新的字段。这对您和您的API消费者来说是非常清楚和简单的,同时还强制在实体和DTO之间分离关注点。
我写了这段代码,我在《Python for dummies》一书中找到了这段代码 它应该打印10 9 8 7 6 5 4 3 2 1Blastoff! 当我运行程序时,我得到一个错误“调用打印时缺少括号” 在youtube上,我发现了一个类似的代码,从0到10000000。这个很好用。 为什么它们看起来如此不同?我需要什么样的基础知识才能理解这一点?这是不同python版本的问题吗?《Python
自从我建立并开始运行应用程序上iOS10模拟器,我开始得到日志,如: 想知道我怎么修好它们吗?我从未在XCode 7上见过这些。
我有一个df,看起来像: 作为pd进口熊猫 df df
我有一个数据框(泰坦尼克号乘客列表中的28行),其中有一列“性别”,包含两个值,“男性”、“女性”。我想知道男性/女性的数量 输出应在第二列中以行标签(索引)和计数(男性/女性)的形式显示“性别” 这将返回一个"ValueError: Grouper for'sex'not 1维"错误。 请引导
我尝试运行上述代码。但它不更新字符串。并且不显示任何错误。数据帧中存在“ABW”数据点。我也给出了数据集的链接。https://github.com/pran9957/world-bank-data.git