后端接口规范问题,只提供一个接口如何?

141 天前
 lbunderway

一个后端服务只向外提供一个借口,全用 post ,通过定义不同的业务 code 进行处理,我之前有个小系统就这样搞过,并且我还觉得前端反而会不会简单些,只用一个接口,而有的项目用 rest 风格,有的反而有点不伦不类,大佬些觉得如何呢

6961 次点击
所在节点    程序员
79 条回复
lovelylain
141 天前
看你们基础设施,如果监控、频限等都是接口维度,只用一个接口导致都上报到这个接口的话,建议拆分多个接口,如果本身支持根据 code 处理或者小改就能实现,只用一个接口也没啥问题。
huihuiHK
141 天前
简版 Gateway
woodfizky
141 天前
请求 url 一样的坏处:
排障的时候如果看不到请求内容,无法通过 url 本身判断每个请求在干嘛,因为都是一样的。
(除非你都是 query_param 或者 path_param 传参,但是这样我觉得太蠢了)

同理,所有基于 url 去做的东西你们都做不了了,权限控制,访问统计,等等。

当然如果你的系统不会遇到上面的需求或者问题,那好像没啥毛病。
nhhjhwiner
141 天前
alipay 的 api 看上去就是一个接口,通过不同方法名进行路由的
Blank10030
141 天前
功能少的话可以,功能多起来后还是按服务拆分接口比较符合大众要求。
watzds
141 天前
@janus77 #16 那肯定要写成按 code 注册到一个 map 里,不同 code 调用不同执行器
vibbow
141 天前
你是否在找:SOAP
Vegetable
141 天前
你将基础设施的功能用自己的代码实现了一遍,引入了更多风险,但是好处几乎没有。
wxq844688550
141 天前
go522000
141 天前
这样的话,后期要加 API 网关比较麻烦。
lbunderway
141 天前
@batchfy 每个 code 肯定是要些注释的
lc5900
141 天前
我们有个项目和华子对接就是这样,接口他们定的
dyllen
141 天前
支付宝的接口不就这样吗?就一个 gateway 的地址,所有接口都是这个地址。
bsg1992
141 天前
就是 JSON-RPC 其实倒是也可以,这样做的坏处就是,一些成熟的中间件,没法使用
siweipancc
141 天前
spring mvc 实现原理就是这个,只有一个 web filter ,那设计就很简单了,重写 condition 解析策略就行。
回到题干,假设你不是 java 开发,你确定要这么写代码,库支持改造吗?不是不能用,是维护的问题
SHF
141 天前
这就是 http rpc
coinbase
140 天前
nginx 不好缓存 post ,android 客户端或者 iOS 客户端也不好自动缓存
zhao8681286
140 天前
上面抽一层做网关,就提供一个接口 对应 code 映射到下面服务的接口。
Nazz
140 天前
没毛病,JSON-RPC
Nazz
140 天前
我现在做的项目,纯 POST 且不含动态路由

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

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

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

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

© 2021 V2EX