我正在学习ASP.NET Core有关如何创建RESTful API的教程和文章。在新的演示文稿和文章中,人们似乎将DTO称为API资源。这两个概念是相同的还是有区别?是否有标准/约定可供遵循,还是只是基于个人观点而定?
我正在学习ASP.NET Core有关如何创建RESTful API的教程和文章。在新的演示文稿和文章中,人们似乎将DTO称为API资源。这两个概念是相同的还是有区别?是否有标准/约定可供遵循,还是只是基于个人观点而定?
如果我理解正确,我认为问题是是否拥有特殊的客户端类/对象后缀为'Resource'(例如,EmployeeResource
),并且与域模型(在本例中为Employee
)具有不同的“形状”,是否等同于拥有DTO。
我确信答案是肯定的。
它们是不同的概念,但有点相似。
DTO(数据传输对象)是适合于从视图/客户端传递的对象。其目的是删除您不想要的信息,将对象结构平坦化为更易消耗的形式或使用其他各种方式装饰数据。它们位于数据模型和您想要提供数据的任何内容之间。
REST是一种高度基于约定的方式,用于为CRUD类型操作提供API。尽管在教程中,REST API可能使用与原始数据模型非常不同的DTO,但通常API只是数据库上的一个薄层,并附带身份验证/授权检查。