1
yusheng88 OP linux 系统的响应方式,就是操作成功,不返回数据,操作失败,返回异常信息。在业务系统里,这种响应方式是否为主流?个人更倾向于返回操作的记录的主键[id]。
|
2
3dwelcome 2021-06-04 02:49:47 +08:00
幂等函数 = 每次运行结果都一样,相当于 GET 了。楼主说的增改删,DELETE 这种非幂等函数吧。
国外 REST 主流就是返回状态码,成功 200 或者 204,失败就是返回 404,和普通 HTTP 请求一样。 国内主流就是 POST 一把梭。 |
3
baiyi 2021-06-04 07:54:58 +08:00 1
在我看来幂等性和响应内容是无关的。
从 HTTP 的设计上来看。它为 methods 设计两种特性,安全性和幂等性,同时安全的一定是幂等的。安全性表示用户可以随意调用该接口,而不用担心对资源的影响,幂等性表示用户无论调用多少次该结构,对其资源的影响是一定的。 GET:安全且幂等 POST:不安全且不幂等 PUT:不安全但幂等 DELETE:不安全但幂等 先撇开安全不谈,幂等性的设计好处是什么呢?这就是我们设计接口时 POST 和 PUT 的区别。当你将接口设置为 PUT 时,就表示告诉了调用者,这个接口是可以重试的。 用最常见的新增场景来表示,POST 和 PUT 都可以用来添加资源,但 POST 不能重试,每一次请求都有可能添加一个新资源; PUT 可以重试,它只会在服务器中增加一个用户所描述的资源,无论用户重复调用多少次。 给一个典型的例子,为什么 Github v3 API 的 Star 操作是 PUT 而不是 POST,应该就是有幂等性的考虑。 https://docs.github.com/en/rest/reference/activity#star-a-repository-for-the-authenticated-user |
4
yusheng88 OP 额,不应该关注幂等性,新增、修改、删除接口返回什么数据比较好?
|