后台提供接口,有要求把多个参数转换成 json 字符串传过去的吗?

2017-06-20 14:00:39 +08:00
 hydyy

公司新来做后台的哥们,且不说技术到底怎么样。今儿让我们传参数的时候把多个参数转换为 jsonstr 给他们穿过去。我就特不能理解,为啥要做这事呢,多累腾啊,没事瞎折腾啥呀。

为了这个事跟后台的吵了一架。

好郁闷啊!

兄弟们你们公司提供的接口有这么干的吗?

2600 次点击
所在节点    问与答
21 条回复
maemual
2017-06-20 14:06:37 +08:00
还好吧,我也希望接口能全部统一用 json 来交互,但是不会强求吧。
qiayue
2017-06-20 14:08:19 +08:00
你们之前没有 API 吗?按照之前的方式来。
hotStrip
2017-06-20 14:13:16 +08:00
我们有啊,但是也不费劲吧,封装个方法就好
paradoxs
2017-06-20 14:15:45 +08:00
接口文档是谁审批的? 格式怎么定的怎么来.
hydyy
2017-06-20 14:26:25 +08:00
@hotStrip 不费劲,很简单,但是我个人是希望可以统一规范,犯错的概率会低很多。
DT27
2017-06-20 14:26:56 +08:00
你去看看各种 api 文档就知道都是这么要求的了。。。
hydyy
2017-06-20 14:27:07 +08:00
@maemual 难道我真的 out 了? 优势在哪里? 区别不大,但是打乱了原有接口规范啊。并没有什么好处。
hydyy
2017-06-20 14:30:13 +08:00
@DT27 能否提供个链接, 我接触到的 api 很少有类似的要求。 可能是我真的太久没关注了吗?
czzhengkw
2017-06-20 14:30:55 +08:00
做为一个项目的后台,应当要求统一的传参形式,json 也好,form 表单也行,但是不能混着用……
learnshare
2017-06-20 14:31:14 +08:00
做底层开发一般会自己造协议,比如前几个字节代表数据长度,往后再截取几个字节,就是这段数据的内容。
但 Web 开发一般都是 JSON
iyaozhen
2017-06-20 14:31:42 +08:00
貌似现在都是 json 吧。
不过这事就是个约定,一定要统一。
万一再来个人说用 xml 呢
DT27
2017-06-20 14:34:30 +08:00
@hydyy 哎,好像我理解错了。。。都是要求 json 格式,但是没要求转成字符串。
都是返回字符串。。。
hydyy
2017-06-20 14:37:05 +08:00
@iyaozhen 是传入参数都用 json 吗?比如 A 接口有三个参数:a, b, c.
然后把三个参数组装成 json,传一个参数 jsonstr 过去

都是这样了吗? 没有别的意思,只是想了解一下。

另外你说的对, 统一最重要。
hydyy
2017-06-20 14:38:21 +08:00
@DT27 返回 json 这个没毛病,业界统一都是这样做的。 是调用 api 时候传入的参数。 好郁闷啊,现在得妥协了,项目进度要紧。
iyaozhen
2017-06-20 14:40:20 +08:00
@hydyy 一般都是直接 post 一个 json 串吧。

传一个 jsonstr 是指什么? get 参数里面 jsonstr={json} ?
hotStrip
2017-06-20 14:48:58 +08:00
@hydyy 那倒是,有时候我们这就会因为传参方式出错
zpf124
2017-06-20 14:49:19 +08:00
这就看具体情况了。

是不是用 Restful 格式呢?
是不是 因为 原本的 kv 格式 后台序列化有问题呢? (比如 jquery.ajax 序列化数组会多多一对[],变成 arr[]=2,arr[]=2,导致 我后台反序列对象里的 arr 获取不到值, 不要吐槽我们为什么用 jQuery,我只是个后台开发的新人)


而且 让你传参的格式是什么样的?
如果是 {xxx:xx} 还算好, 如果是 jsonStr = {xxx:xx} 这就有点.....
af463419014
2017-06-20 15:37:17 +08:00
参考下业界的做法吧,比如 kylin 用的就是 json,http://kylin.apache.org/docs20/howto/howto_use_restapi.html
其他开源框架的也可以看看
MarcoQin
2017-06-20 15:44:18 +08:00
所以楼主得说得更清楚一点吧= =比如是 GET 还是 POST。
一般 POST 方法的话,按照一般的约定的话,要么 body 传 json 要么直接 form 表单,也没啥- -
要是 GET 然后像 #15 说的这样 http://balabala?jsonstr={json}这样的话也太蛋疼了……
wangxiaoer
2017-06-20 15:57:45 +08:00
真是醉了,楼主说的不够清楚吗?

楼主应该不是埋怨返回 json,而是发起请求的时候要求把参数封装成 json。

原来:/api?x=1&y=2

现在:/api?jsonstr={x:1,y:2}

我是看不出 get 请求下这有个鸡毛的意义,有个鸡毛的所谓统一性。

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

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

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

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

© 2021 V2EX