你有没有特别想吐槽的后端接口?

2020-01-04 11:05:58 +08:00
 zjiecode

不知道各位的公司,后端接口有没有一些规范?

我之前遇到一个后端 RD,定义 GET 请求,但是,需要在 body 里面添加数据,感觉特别怪异?这种为啥不直接用 post,各位觉得呢?

6732 次点击
所在节点    程序员
50 条回复
hantsy
2020-01-04 17:28:13 +08:00
头一回听说用 Get Body 传数据。不讨论这个了,又是 REST 设计问题,月经了。
xianyu0
2020-01-04 17:31:14 +08:00
get 请求带 body,从 http 协议的角度讲,并没有不规范吧,http 没规定 get 请求不能带 body 呀。

elasticsearch 的查询,不就是 get 请求带 body 吗?

只不过很少这样用,而且有些软件可能不支持而已。

当然,我是反对 get 请求带 body 的……另外,后台接口难道还限制你只能用 get ?不给用 post ?
ceet
2020-01-04 17:34:30 +08:00
查询的接口是 post。 请求的数据是 sql。直接传 sql 给后台。 后台做了过滤而已。美名曰提高效率。
itning
2020-01-04 18:10:39 +08:00
@ceet 直接传 SQL ? drop table "xxx"
xiaoyt0909
2020-01-04 18:16:10 +08:00
@xianyu0 后端接口是可以限制请求方式的,一般除了查询用 get,其它的都用 post
cszchen
2020-01-04 18:31:27 +08:00
@ceet 能给个地址观摩一下不[邪恶]
xianyu0
2020-01-04 18:32:04 +08:00
@xiaoyt0909 我当然知道可以限制,我就是做后台的……我的意思是,后台的某个接口一般会同时允许 get 和 post,不会只允许 get 不允许 post,最多也只是允许 post 不允许 get (出于某些限制,比如提交数据比较多,或者不想参数出现在 url 里、等等)
cszchen
2020-01-04 18:37:22 +08:00
@xianyu0 restful 的规范就是要么只能 get,要么只能 post,一个接口只干一件事,你全搞在一起不仅不规范,维护也难啊
xianyu0
2020-01-04 18:49:33 +08:00
@cszchen 一个接口同时支持 get 和 post,怎么就难维护了……后台处理请求的时候,难道会区分这个请求是 get 还是 post ?
AlexCode
2020-01-04 19:01:51 +08:00
@sgiyy 我猜,估计 delete、put 就更不用说了,一定没怎么用。
zhizunzz
2020-01-04 19:02:19 +08:00
php 老掉牙版本 页面 input 的 name 是数字 1,2,3,后台 register_globals=on

一脸得意的告诉我这么办$tmp="1",$var=$$tmp, 我他妈照办了
AlexCode
2020-01-04 19:02:46 +08:00
@viator42 性别用布尔,的确不好处理,男女可以表示,未知性别一下就蒙了
iRiven
2020-01-04 19:04:47 +08:00
主板上面的 VGA 可以吐槽吗
zjiecode
2020-01-04 19:07:43 +08:00
@ZXCDFGTYU 这个感觉 ,后端的人也太业余了吧
LinJunzhu
2020-01-04 19:08:46 +08:00
@xianyu0 惊了,合着你写的 某个 API 都是同时支持 GET 和 POST 的?
slyang5
2020-01-04 20:08:25 +08:00
@xianyu0 因为他的 get 带 body 被好多开源库吐槽了 及其不规范
xianyu0
2020-01-04 20:42:00 +08:00
@LinJunzhu 没错,我的绝大部分接口既允许 get,也允许 post。限制一个接口只允许 get 或只允许 post 有什么好处? query string 从 url 里取 和 从 request body 里取 有任何区别吗?
darknoll
2020-01-04 20:58:09 +08:00
get 带 body,长见识了
a852695
2020-01-04 21:41:53 +08:00
看到过有后端传文件接口,把文件内容写 query string 的,url 直接被 ngx 拦了
Varobjs
2020-01-04 22:00:20 +08:00
吐槽下很多大公司的接口文档
有的写着 GET/POST 实际只能 POST
有的写着 返回 xx 实际从来不返回

全靠猜

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

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

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

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

© 2021 V2EX