通常情况下应该是不需要才对。就拿注销点击同意协议来说,假设传递为 /api/logout ,我们当然可以在body里定义is_confirm: true如果按照你的假设,用户是否勾选同意,决定了你的 is_confirm 字段为真假,传递过后,后端如果发现选择的是 false ,就不会真的注销。这不是很奇怪吗?如果用户没有真的点击同意,前端应该根本不可以向后端发出去这个请求才对。后端在这里的校验是个无用功。有人会抬杠,那如果接口被人盗用了呢?请问你的用户的 token 是干什么的呢? 而且盗用了那也不是这个层面上需要考虑的问题了。不过反过来,我倒是能大概揣测一下这个问题的用意。业务上的实际问题很可能是:如何前端确保用户不会误触发注销请求到后端去重要功能是否有多次确认,显式的提醒用户当前操作的重要性,在用户二次甚至三次确认后才真正的发出请求提交当请求发出后,后端收到处理了,是否业务上有反悔和延迟处理的可能性?(比如注销进队列,15日后才正式注销但无论哪种情况,题目中的同意与否作为参数传递都显得有些不伦不类。你当然可以传,后端当然可以接,也可以做判断。只是我觉得从哪个方面都是多此一举。因为真正需要处理的问题不在这一个请求里,而是在业务的其他环节中。
通常情况下应该是不需要才对。
就拿注销点击同意协议来说,假设传递为
/api/logout
,我们当然可以在body里定义is_confirm: true
如果按照你的假设,用户是否勾选同意,决定了你的
is_confirm
字段为真假,传递过后,后端如果发现选择的是false
,就不会真的注销。这不是很奇怪吗?
如果用户没有真的点击同意,前端应该根本不可以向后端发出去这个请求才对。后端在这里的校验是个无用功。
有人会抬杠,那如果接口被人盗用了呢?
请问你的用户的 token 是干什么的呢? 而且盗用了那也不是这个层面上需要考虑的问题了。
不过反过来,我倒是能大概揣测一下这个问题的用意。业务上的实际问题很可能是:
但无论哪种情况,题目中的同意与否作为参数传递都显得有些不伦不类。
你当然可以传,后端当然可以接,也可以做判断。只是我觉得从哪个方面都是多此一举。因为真正需要处理的问题不在这一个请求里,而是在业务的其他环节中。