当前位置: 首页 > 知识库问答 >
问题:

WebAPI DTO响应-请求消息传递模式

牧璞
2023-03-14

我正在读一本书中关于C#中的响应-消息模式的章节,当我最近遇到一个使用web API的项目时,我注意到了一些相似之处,并想要一些明确的东西。

在书中,作者的代码将请求(在本例中是CustomerRequestService)包装在一个名为CustomerRequestService的类中,该类的工作是处理这些请求(请求只不过是具有与查找客户的服务相关的搜索词或属性的类,而不执行其他非常稀薄/贫乏的操作(?),我想您可以这样说)。该服务返回一个CustomerResponse,它包装了一个customer类、一个来自服务器的响应,以及将用于在服务器端向用户显示结果的其他相关信息。

现在,在我正在查看的项目中,有一些web页面对web api控制器进行ajax调用。控制器处理这些请求,并用它们自己的响应进行响应。它使用JSON.NET进行反序列化。

你可以说这很相似。在书中,作者称这些请求-响应,在代码中,它们被命名为诸如CustomerDto和CustomerResponseDto(DTO当然代表data transfer object)之类的东西。

当我在网上搜索时,似乎当我搜索webAPI时,命名标准围绕DTO而不是响应/请求。

我猜唯一的区别是,一个东西以JSON的形式序列化并发回一个网页,另一个作为类保留下来。

谢谢,请让我知道我是否解释正确!

共有1个答案

刁瀚昂
2023-03-14

您可以随意命名它们(一如既往,保持一致),但对我来说,在这种情况下使用DTO而不是Request/Response更有意义。DTO用于以两种方式传输数据--从客户端传输到服务器,反之亦然。因此在请求和响应中都使用它。

 类似资料:
  • 我正在调查Kafka9作为一个爱好项目,完成了几个“你好世界”类型的例子。 我不得不考虑基于请求响应消息传递的真实世界的Kafka应用程序,更具体地说,是如何将Kafka请求消息链接到它的响应消息。 我的思路是使用生成的UUID作为请求消息键,并使用这个请求UUID作为关联的响应消息键。与WebSphere MQ具有消息关联ID的机制几乎相同。 我的end 2 end进程将是。 1)。Kafka客

  • 我正在将分布式架构从Python移动到。网络核心。此体系结构具有将请求推送到服务总线(KAFKA)的网关API。请求由微服务处理。这些微服务在请求对象中设置的主题上响应网关(然后响应客户端)。主题名称是基于python Application(Flask/uwsgi)的process_id构建的。 但是用。NetCore Webapi应用程序,我无法找到从其过程中获取主题的方法(我开始在.NetC

  • 我通过endpoint与我的laravel服务器通话。我不使用Laravel View,因此无法访问其会话。 当一个需要的请求进来,我需要返回一个响应即etc每个参数?可能吗? 内部: 如果我应该使用字符串消息,而不是laravel重定向没有响应,我使用邮递员,我看到状态200。如何实现我想要的?我想用响应自定义每个必需的参数。

  • 由于内容脚本在网页而不是扩展程序的上下文中运行,因此它们通常需要某种与扩展程序其余部分进行通信的方式。例如,RSS 阅读器扩展程序可以使用内容脚本来检测页面上 RSS 摘要的存在,然后通知后台页面以显示该页面的操作图标。 扩展及其内容脚本之间的通信使用消息传递来实现。任何一方都可以监听从另一端发送的消息,并在同一通道上进行响应。消息可以包含任何有效的 JSON 对象(空,布尔值,数字,字符串,数组

  • ms tcp nodelay 描述: 在信差的 TCP 会话上禁用 nagle 算法。 类型: Boolean 是否必需: No 默认值: true ms initial backoff 描述: 出错时重连的初始等待时间。 类型: Double 是否必需: No 默认值: .2 ms max backoff 描述: 出错重连时等待的最大时间。 类型: Double 是否必需: No 默认值: 15

  • 消息传递 目录 一次简单的请求 h3Name 长时间保持连接 h3Name 扩展之间的消息传递 h3Name 安全策略 h3Name 范例 h3Name API reference Properties propertyName Methods methodName Events eventName Types id For information on how to use experiment