Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >返回字符串文本而不是POST和DELETE方法的值对象是错误的做法吗?

返回字符串文本而不是POST和DELETE方法的值对象是错误的做法吗?
EN

Stack Overflow用户
提问于 2019-12-04 08:12:59
回答 1查看 127关注 0票数 0

如果您是在一个微服务体系结构中,业务用户需要管理功能为该服务从数据库中添加和删除项,并希望得到一条消息,说明操作是否成功,所以不仅仅是201响应。

当你回复一篇文章并删除时,你最喜欢的行业实践是什么?发回一条字符串消息,说它成功与否?还是让一个新的值对象具有一个成员字符串消息并返回getter/setter更好,该对象可以序列化并返回到用户将看到的响应中?

是否有一种更好的方法,还是不重要?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-04 13:38:13

那得看情况。

HTTP响应的消息体在语义上是消息。

代码语言:javascript
运行
AI代码解释
复制
200 OK
Content-Type: text/plain

IT WORKED

当消息接收者是人时,对消息使用纯文本是可以的,因为人类在语义上是灵活的。一个熟悉美式英语的人会理解这条信息,如果你以后决定把它改为不那么容易拼写的话,人类接收者可能会想出答案。

当机器读取消息时,纯文本变得不那么令人满意--当您需要更改消息时,问题就出现了,如果没有结构,机器很难找到它们需要的东西。

如果您查看上面的示例,标题(包括状态行)符合大约20年前设计的模式。HTTP客户端知道如何解析标头,并识别他们所关心的标头,等等,因为对于如何将信息编码到响应的标头中,有一种详细指定的模式。

在短期内,您可以定义一个模式,其中"IT工作“是可能的响应之一,每个人都可以根据该模式编写他们的程序。

但是当您需要扩展架构时,需要包含更多的信息吗?你能在不破坏老客户的情况下满足你未来的需求吗?

另一方面,如果升级所有客户端(因为它们都在您的直接控制之下)很便宜的话?那么,您可能还不需要一个可扩展的消息模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59180295

复制
相关文章
Spring boot(SpringMVC)使用mybatis的delete方法返回值
那么,在Mybatis下我们怎么获得是否删除成功,以及删除(受影响)了几条数据呢?
程序新视界
2022/05/09
1.4K0
springcloud 返回的数据为XML 而不是JSON
本人的原因是因为引入了jackson-dataformat-xml依赖导致的,下面查看自己项目是否包含此依赖,如果包含的话,可以去掉。 有的人添加了下面注解后可以解决,不过我这里没有解决。还是依靠上图
qubianzhong
2019/04/01
2.3K0
springcloud 返回的数据为XML 而不是JSON
为什么 useState 返回的是 array 而不是 object?
这里可以看到 useState 返回的是一个数组,那么为什么是返回数组而不是返回对象呢?我们在自定义 hook 时应该返回什么类型呢?
小鑫
2022/04/26
2.3K0
敏捷开发需要的是 "对" 的 "人", 而不是 "对" 的 "角色"
摘要总结:文章讨论了敏捷开发中Product Owner角色的问题,认为不应该将领域专家和架构师直接对应到敏捷开发中的Product Owner,而应该根据实际的产品和团队成员现况来选择合适的人选。文章强调,只有找到合适的人,才能做出合适的产品,而角色和实际工作之间并没有绝对的关系。
Ken Fang 方俊贤
2018/01/05
8760
敏捷开发需要的是 "对" 的 "人", 而不是 "对" 的 "角色"
GET, POST,PUT,DELETE和CRUD的对应关系?
GET,POST,PUT,DELETE和CRUD的对应关系?注意:以上CRUD增删改查(create,retrieve,update,delete)整套CRUD操作,C对应POST,R对应GET,U对应PUT,D对应DELETE,(网上还有其他说法,比如PUT对应create和update,只是一种定义而已【无非这么定义那么定义而已】,实现起来都轻而易举)
马克java社区
2019/08/10
1.4K0
GET, POST,PUT,DELETE和CRUD的对应关系?
数组的splice方法和slice方法_splice方法返回值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/08
1.5K0
controller方法的返回值
需要方法结束时,定义ModelAndView,将model和view分别进行设置。
用户10325771
2023/03/14
2.1K0
controller方法的返回值
PHP方法的返回值
不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值。从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保存,那么这个函数就不用返回任何内容。而计算的结果是要给外部使用的,这时候就要将计算结果进行返回了。
硬核项目经理
2020/02/17
7.7K0
Java 调用File的delete方法删除文件返回false
  在做打压缩包的时候打完包之后,应该删除目录的临时文件,但是我在方法的最后调用删除一直返回false,删除不了,直到自己怀疑人生\
彼岸舞
2020/12/02
1.6K0
Java 调用File的delete方法删除文件返回false
应该对 malloc 返回的值进行转换么
在这个 问题 里,有人在 评论 里建议不要对malloc返回的值进行转换。举个例子,
ClearSeve
2022/02/10
7200
iis站点设置错误页面返回http状态码为404而不是302或其他
  今天一位客户说网站错误页面返回的状态码是302而不是404,问ytkah要如何处理。这个应该是设置没有正确的原因。我们一步步来排查一下。1、首先打开iis管理器,左侧选择具体的站点,在右侧窗口中点击404错误页,如下图所示
ytkah
2019/09/25
3.4K0
iis站点设置错误页面返回http状态码为404而不是302或其他
AOP高级用法——获取方法的参数和返回值
我们平时在使用springAop的时候,经常是将某一个方法定义为一个切入点,用来做前置,后置或环绕增强,但如果想得到切入点方法的参数,以及它的返回值就需要做一些特定的配置。
Java深度编程
2020/06/10
14.1K0
get和post方法的区别
在form表单提交数据的过程中,method属性提供了两个值:get,post,默认为get方式[参1]
Hongten
2018/09/13
1.6K0
你真的知道你喜欢REST而不是RPC的原因吗?
本文讨论的内容主要是请求风格,所以本文中所说RPC侧重于HTTP请求风格,而非java中的RPC设计模式。 有关REST和RPC的讨论或争论一直活跃在各个技术角落,最近也关注了不少,看了很多人的看法之后,我意识到这个问题可以帮助我照亮自己的知识死角:为什么我喜欢REST的请求风格(资源导向)比RPC(操作导向)多一点呢? 是因为RPC的请求风格天生邪恶吗? 还是REST就是灵丹妙药? 两种请求风格长分别长什么样子 在比较这两种请求风格之前,让我们看看他们究竟长什么样子。 HTTP 请求 RP
ImportSource
2018/04/03
1.2K0
你真的知道你喜欢REST而不是RPC的原因吗?
laravel中delete()方法和destroy()方法的区别
还有一个区别是两者的返回值不一样,delete方法返回的是boolean值,true或false,destroy方法返回的是被删除的记录数。
PHP开发工程师
2021/05/29
1.6K0
POST 和 PUT 方法的区别
某日突然想在 Server 端扩展一下 可以接受的 http 方法, 所以学习了一下其他方法的使用.
szhshp
2022/09/21
5880
为什么要用Getter和Setter方法,而不是公开属性
大多数字段的访问都是通过Getter和Setter方法来间接访问,为什么不直接将字段设置为公开属性Public呢?答案在于前者的未来可能性。当我在Java语言编程中开始我的职业生涯时,我就对Getter和Setter感到困惑。为什么要这么写呢?为什么不直接用Public呢?这对我来说是个奇怪的语法。
三哥
2018/12/17
2.2K1
为什么要用Getter和Setter方法,而不是公开属性
delete 和 delete [] 的真正区别
c++ 中对new 申请的内存的释放方式有 delete 和 delete[] 两种方式,到底这两者有什么区别呢?
C语言与CPP编程
2020/10/22
2.7K0
delete 和 delete [] 的真正区别
【Python】python获取线程的返回值的方法
threading模块默认没有获取线程返回值的方法。 下面通过重写threading.Tread类来实现: from threading import Thread import random import time class MyThread(Thread): # 继承Thread类 def __init__(self,group=None, target=None, name=None, args=(), kwargs=None, *, daemin=None): Th
py3study
2020/01/09
1.7K0
浅谈web开发中的Get和Post方法get和post的区别
在http协议中,实际上有八个http方法。但在实际开发中,绝大多数情况我们只会用到两个方法,就是get和post。所以我们来稍微谈谈两种方法的区别,以及何时应该选取何种方法。
desperate633
2018/08/22
1.8K0
浅谈web开发中的Get和Post方法get和post的区别

相似问题

返回通过引用传递的对象是错误的做法吗?

27

为什么使用HTTP PUT和DELETE方法而不是POST?

46

函数对象是怎样的,而不是名称/值对?

11

使用HTTP post方法而不是DELETE方法是否有任何风险

16

从方法中返回异常是错误的做法吗?

152
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文