关于接口参数处理

331 天前
 xlinux

兄弟们,比方接口需要参数只需要一个字段 name 。

{
  name: 'abc'
}

然后前端的哥们给传递了一些多余的字段 age 、phone 一些不需要的字段,比方:

{
  name: 'abc',
  age: 12,
  phone: '13800138000'
}

各位大佬是把不需要的字段直接忽略呢?还是抛出错误,提示 age 字段不应该传递?

1862 次点击
所在节点    问与答
23 条回复
ck65
331 天前
无用字段忽略
kaiki
331 天前
如果你一定要限制的话,可以试试用 Content-Length 来限制长度,之后就会出现你们俩都摸不着头脑的 BUG 了
bsg1992
331 天前
忽略你不需要的字段就好了
IvanLi127
331 天前
没啥特殊需求的话,就兼容一下前端,忽略掉多余的参数。
Greendays
331 天前
都是同事的话还是说一下,让他按照接口文档来吧。如果是你俩是不同公司的,那就凑合一下吧。
xlinux
331 天前
谢谢各位老哥的回答。
hanierming
331 天前
你想想,如果你给前端不需要的参数,前端会帮你忽略,还是给你提示返回了不需要的参数?
28Sv0ngQfIE7Yloe
331 天前
如果我做的话,肯定是忽略
nothingistrue
331 天前
干这么多年也没见过参数校验时检测多传参数的。
Mrun
331 天前
要考虑到接口复用的情况,比如查询订单详情,你的业务需要字段 A ,其他业务需要字段 B ,难道让订单业务维护多个接口?肯定是字段 A 、B 在一个接口里面返回啊
Mrun
331 天前
@Mrun #10 看错了,你是接口业务提供方,其实也可以忽略
whoosy
331 天前
一定是忽略
Masoud2023
331 天前
考虑到灰度上线,功能扩展,字段修改,不应该盲目的未知字段报错。
so2back
331 天前
肯定忽略,多传一个就报错,那不得直接裂开。。
body007
331 天前
我们的前端更奇葩,要求他多传的字段我后端要帮他存着,后面详情接口得原样给他返回,我直呼好家伙啊。
bleoo
331 天前
@body007 我刚工作时也遇到过,太奇葩了,后来给他开了个 json 类型的字段,让他自己爱存啥存啥🤡
netnr
331 天前
好像有新的安全漏洞规则就是针对这种情况
Building
331 天前
人家可能只是把模型直接传给你了
chenqh
331 天前
我用 get 请求的时候,有时间最喜欢加 t=(new Date()).ValueOf()了
xlinux
331 天前
@chenqh 防缓存?

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

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

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

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

© 2021 V2EX