设为首页
收藏本站
开启辅助访问
全部
问与答
创意
技术
酷工作
生活
交易
资源
节点
飞墙
Follow
明白贴
影视
报酬
登录
注册
飞社-令人惊奇的创意工作者社区-
›
首页
›
程序员
›
这两种 API 设计哪种更好?
FSHEX=FIND+SHARE+EXPRESS
飞社-令人惊奇的创意工作者社区- 是一个关于发现分享表达的地方
现在登录
没有账号?
立即注册
推荐主题
›
本 6, 30 岁才 p5 未来很迷茫
›
白天上完班晚上通宵开车回家要注意什么
›
为什么很多企业不学习雷总,于东来,做好企
›
柯洁 LG 杯的经历你怎么看?
›
[网站自荐] 高颜值专业在线焰火模拟器 - 值
今日热议主题
app store 现在充值 9 折优惠的活动能续费
有没有什么提升开发生产力的订阅推荐啊? P
25 年二月份似乎有不少游戏新续作
那种没说几句就开始哈哈大笑的小圈子文化播
51la 统计疑似又开始劫持跳转了
求助,如何排查 chrome 被 360 劫持新姿势
请教 UU 加速器路由器插件和 mihomo tun 模
最近 github 搜不到关于某东 某宝的签到任
湖北电信可以直接访问 fshex
安卓手机二选一: iQOO z9 Turbo+ 和 vivo
这两种 API 设计哪种更好?
landfill
·
昨天 16:11
· 1031 次点击
编程语言是 Java 。 不知道弱类型的语言会有什么不同吗
POST /api/parse/message-type-a
POST /api/parse/message-type-b
每个 API 返回对应类型的 payload
POST /api/parse
请求体中带上 message type ,返回一个包装后的 payload
每个 type 返回的字段差别挺大的,type 现在有十来个,未来还有可能增加
举报
·
1031 次点击
登录
注册
站外分享
微信扫一扫
QQ分享
微博分享
豆瓣分享
复制链接
显示全部
|
最早评论
9 条回复
10#
xuanbg
小成
昨天 18:22
没啥本质区别,我喜欢第二种,能少很多事
9#
chendy
初学
昨天 16:41
放路径里 在 url 上多暴露一些东西有助于后面的分析统计和问题排查
8#
sagaxu
初学
昨天 16:35
如果能把 payload 类型统一化,放一个请求路径没问题。如果统一不了,最好还是拆分成不同的 API 。
7#
liuhuihao
初学
昨天 16:25
[每个 type 返回的字段差别挺大的] ,根据这个我会选择方案一。如果一个接口,连自己内部返回的字段都不固定的话,维护起来会很困难,尤其是日积月累增加了多种类型之后。
6#
sankooc
小成
昨天 16:24
我个人喜欢第一种 后期做统计稍微简单一些
5#
8355
小成
昨天 16:21
我会选择方案 1 ,枚举值可以自定的情况下这个方案更好,资源型查询型接口可以更方便的套 cdn 等等,迭代风险也低,更加灵活,还可以通过路由做分流等等。 弱类型语言更习惯用方案 2 ,数据大多数来自于查表一套写完逻辑不变的话基本免维护。
地板
landfill
楼主
初学
昨天 16:19
@xiaohupro 这个等于是第二种方案吧 只是 type 放到了路径参数里
板凳
xiaohupro
小成
昨天 16:16
可以用路径参数来解决,例如你如果是使用 SpringBoot 的话: @PostMapping("/parse/{messageType}") public CommResp parseByMessageType(@PathVariable("messageType") String messageType) { // 在里面根据参数 messageType 做具体的操作 } 不过如果只是根据消息类型获取内容,我建议使用 GET ,不过用 POST 也行,个人习惯问题
沙发
lwldcr
小成
昨天 16:16
我喜欢第一种 api 指向精准 下游处理也方便 不需要做类型判别啥的 当然如果前端需要在某个地方支持多种 payload 展示,那第一种估计就不满足或者比较难用了
返回顶部