【发布时间】:2014-06-21 23:29:14
【问题描述】:
我正在阅读一本关于 C# 中的响应消息模式的书中的一章,当我最近遇到一个使用 Web API 的项目时,我注意到了一些相似之处,并希望对某些事情有所了解。
在本书中,作者的代码将请求(在本例中为 CustomerRequest)包装在一个名为 CustomerRequestService 的类中,该类的工作是处理这些请求(请求只不过是具有诸如搜索词或与寻找客户的服务并且什么都不做,非常瘦/贫血(?)我想你可以说)。该服务返回一个 CustomerResponse,其中包含一个客户类、来自服务器的响应以及其他相关信息,这些信息将在服务器端用于向用户显示结果。
现在,在我正在查看的项目中,有一些网页可以对 web api 控制器进行 ajax 调用。控制器处理这些请求并用它们自己的响应进行响应。它使用 json.net 进行反序列化。
你可以说这非常相似。在书中,作者将这些请求-响应称为请求-响应,在代码中,它们被命名为 CustomerDto、CustomerResponseDto(当然 DTO 代表数据传输对象)。
当我在网上搜索时,似乎当我搜索 webAPI 时,命名标准围绕 DTO 而不是响应/请求。
也许我正在分裂头发,或者这很可笑且无关紧要,但在这样的场景中很好奇其他人如何命名他们的请求/响应类。我喜欢调用所有请求/响应的想法,即使在 web api 架构中也是如此,但我不确定这样命名是否不正确,我应该将它们称为 Dtos。
我猜唯一的区别是一个东西被序列化并以 JSON 的形式发送回网页,另一个仍然作为一个类。
谢谢,如果我解释正确,请告诉我!
【问题讨论】:
-
您可以随意命名它们。只要确保你与命名事物一致。
User、UserDto和UserRequestDto都是非常好的例子。 -
谢谢。 UserRequest 和 UserResponse 似乎对我有好处。除非其他人有想法,否则我会坚持下去。你会说这是请求-响应模式,不管它是在 web api 中使用还是纯粹在服务器端使用而不被 web 控制器使用并作为反序列化的 JSON 数据返回到前端?
标签: c# asp.net-web-api json.net dto