这是个啥风格的 api 啊?

2022-08-15 16:54:35 +08:00
 ChiangKaishek

整个就一个 /api 接口, 请求方法全写在负载里面 这样写 api 有啥好处吗?

6010 次点击
所在节点    Python
33 条回复
fuxkcsdn
2022-08-15 18:08:36 +08:00
soap 接口很多这样的,这种好处是不用费劲给接口起名,对接起来也挺方便的

以前接携程一个接口,所有的接口名都是 UUID ,具体啥功能看说明文档
sunhelter
2022-08-15 18:09:41 +08:00
在 RESTful 概念没出来的时候的写法
murmur
2022-08-15 18:10:16 +08:00
@dcsuibian restful 对于水平一般的团队,副作用大于好处,post 和 get 都玩不明白你指望 put 和 delete ?
muzuiget
2022-08-15 18:26:18 +08:00
这是很正常也很流行的用法,HTTP 无非就是一个“容器”协议而已。

序列化成 JSON ,传递的是结构化带类型的参数,就像你图中那个 offset 是一个数字类型,order 是一个字典(复杂数据类型),服务端收到一个 JSON 字符串,可以反序列化直接使用,甚至可以用 JSON Schema 这种东西直接检查数据有效性。

你想想如果如果用 get 方法你要怎么传这种参数?是不是要一个个参数取出来?取出来的是字符串,还要手动类型强制转换。

把 HTTP 当成“容器”协议,以后添加和转换协议也很方便,比如 WebSocket/Socket ,只需要加一层简单的“转换器”。甚至可以加密,即防止别人用 DevTools 来逆向工程,好处多多。

所以只要你的业务和 HTTP 没什么强关系,用这种方法更好。
muzuiget
2022-08-15 18:29:33 +08:00
@murmur 我也是 restful 黑,restful 不 restful 都一股玄学味道,有那个功夫学习 restful 的理念,早用 JSON 这种东西搞定下班了。
sivacohan
2022-08-15 19:07:07 +08:00
rpc 风格
可以看一下 soap ,xml-rpc
wanguorui123
2022-08-15 20:56:37 +08:00
JSON-RPC 协议
dcsuibian
2022-08-15 21:41:31 +08:00
@murmur Restful 除了设计难点没看出有啥副作用。

put 、delete 、Restful 也不是重点,重点是统一。
没有 restful ,接口设计只会更加千奇百怪,你永远不知道合作的程序员用的是怎样的脑回路。。。
dusu
2022-08-16 03:01:43 +08:00
对于 waf 或者基于 accesslog 做统计的系统完全就是灾难
nothingistrue
2022-08-16 10:07:10 +08:00
去 HTTP 纯 Application Interface 风格的接口,好处是完全去掉了 HTTP 的影响,缺点是 HTTP 的好处——Header 、缓存、通用等——一个也用不了。
chocotan
2022-08-16 13:13:51 +08:00
@dzdh 阿里接口早就这样了......比 spring cloud 早好几年......
chocotan
2022-08-16 13:15:37 +08:00
就是网关层的统一入口
Envov
2022-08-16 13:40:01 +08:00
我们云 api 也这样,感觉没有什么好处也没什么坏处

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/873010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX