如果您是在一个微服务体系结构中,业务用户需要管理功能为该服务从数据库中添加和删除项,并希望得到一条消息,说明操作是否成功,所以不仅仅是201响应。
当你回复一篇文章并删除时,你最喜欢的行业实践是什么?发回一条字符串消息,说它成功与否?还是让一个新的值对象具有一个成员字符串消息并返回getter/setter更好,该对象可以序列化并返回到用户将看到的响应中?
是否有一种更好的方法,还是不重要?
发布于 2019-12-04 13:38:13
那得看情况。
HTTP响应的消息体在语义上是消息。
200 OK
Content-Type: text/plain
IT WORKED
当消息接收者是人时,对消息使用纯文本是可以的,因为人类在语义上是灵活的。一个熟悉美式英语的人会理解这条信息,如果你以后决定把它改为不那么容易拼写的话,人类接收者可能会想出答案。
当机器读取消息时,纯文本变得不那么令人满意--当您需要更改消息时,问题就出现了,如果没有结构,机器很难找到它们需要的东西。
如果您查看上面的示例,标题(包括状态行)符合大约20年前设计的模式。HTTP客户端知道如何解析标头,并识别他们所关心的标头,等等,因为对于如何将信息编码到响应的标头中,有一种详细指定的模式。
在短期内,您可以定义一个模式,其中"IT工作“是可能的响应之一,每个人都可以根据该模式编写他们的程序。
但是当您需要扩展架构时,需要包含更多的信息吗?你能在不破坏老客户的情况下满足你未来的需求吗?
另一方面,如果升级所有客户端(因为它们都在您的直接控制之下)很便宜的话?那么,您可能还不需要一个可扩展的消息模式。
https://stackoverflow.com/questions/59180295
复制相似问题