http请求参数如果没有是拼在url里面好, 还是压根就不传?我建议后者, 大家什么建议

get方式, 比如:

/biz?id=1&name=&age=

以及

/biz?id=1

post方式, 比如

/biz

id=1
name=
age=

以及

/biz

id=1

尤其是 update 的时候, 你不知道是要把某字段更新成空, 还是不更新这个字段, 呵呵, 还有就是 spring 当使用 Validation 来验证 controller 参数的时候会有问题, 大家畅所欲言

阅读 4.6k
5 个回答

不传比较严谨,这个JS也容易控制的,

let url = ''
const id_data = `id=${id}`
const name_data = name_data = `name=${name}`;
const age_data = age_data = `age=${age}`;
Boolean(name_data) && Boolean(age_data) && url = `biz?${id_data}?${name_data}?${age_data}`;
Boolean(name_data) && Boolean(!age_data) && url = `biz?${id_data}?${name_data}`;
Boolean(!name_data) && Boolean(age_data) && url = `biz?${id_data}?${age_data}`;

正儿八经瞎扯一番。
http毕竟是无状态的,get、post、put等都是有语义的,那么当我们进行传参时,比如a=&b=&c=1,我们做阅读时,就应该是存在参数a、b、c的。
如果是不需要的a参数,那么a就不要写,因为有可能实际业务里b参数就是需要存空值。
以上~

关键是后端只取自己想要的值就好了,然后过滤空或转译一波.不管get还是post,你不能保证传来的值百分百就是按照你设定的

谢邀,但本人不会Vue

这不能孤立的从前端来看,后端对参数的验证方式也会从一定程度上决定你的上行,比如后端要求不允许上行为空参数,或者说他们要求对签名生成机制里要求空参数要去掉,那你肯定是要随着后端的方式来的。
但如果他们并不存在这种要求,告诉你他们已做好了防御机制,你们前端随意,那就是口味问题了,如果是我,我倾向于不去掉,这样可以少写一些if判断直接取数据即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题