2
回答
请求参数在哪里UrlEncode合适?
注册华为云得mate10,2.9折抢先购!>>>   

项目中有些请求参数需要urlEncode(文档中会写出来是否需要encode)。
现在自己写了一个网络请求框架。

现在的问题是:这个参数的encode操作在哪里做比较合适?
两种选择:
A: 传递参数之前encode好了,然后传递到框架中。框架只负责对参数的拼接。
B:传递参数之前什么都不做,在框架中,对参数进行encode之后,对参数进行拼接。

传递参数可能会出现两种情况:
1.中文字符忘了encode就传参。
2.中文字符encode了之后再传参。

以上A‘B和1’2的组合,B1和A2是没有问题的。B2和A1都是有问题的。
A1,是由于传递参数错误引起的。
B2,则是由于框架重复encode引起的。

对于上面的两种错误情况,各位觉得怎么办比较好??框架是采用A方案呢?还是B方案呢?

举报
共有2个答案 最后回答: 2年前
这两个方案和两个情况本身就是矛盾的,随便选一个吧,个人推荐方案A,如果有新人加入团队不熟悉框架,还是自己来写的方便,出错还能找到原因
--- 共有 1 条评论 ---
拉风的道长对,矛盾的。择优呢?我个人也偏向于A方案。 2年前 回复

我觉得吧。你框架,就别涉及到这些处理真正数据的事情,哪怕只是编码一下再解码一下。你如果处理了,容易导致使用的人迷惑不解,而且这种真正涉及到数据的,万一处理错了怎么办?万一你一处理,导致某种特殊的需求实现不了怎么办?而且真实情况中需要urlEncode也只是GET请求,别人能直接请求,就应该自己去处理好要传递的参数能否正确传递到后台的问题。

做框架的,其实不是你做了多少东西,而是你要尽量少做东西。最容易犯的错误就是手伸的太长,管里你不该管的事情。然后就悲剧了,前期一些代码已经基于你的框架了,然后后期人只能继续在你框架的坑里永远爬不出来。

--- 共有 1 条评论 ---
拉风的道长嗯。收益匪浅!感谢! 2年前 回复
顶部