项目中有些请求参数需要urlEncode(文档中会写出来是否需要encode)。 现在自己写了一个网络请求框架。
现在的问题是:这个参数的encode操作在哪里做比较合适? 两种选择: A: 传递参数之前encode好了,然后传递到框架中。框架只负责对参数的拼接。 B:传递参数之前什么都不做,在框架中,对参数进行encode之后,对参数进行拼接。
传递参数可能会出现两种情况: 1.中文字符忘了encode就传参。 2.中文字符encode了之后再传参。
以上A‘B和1’2的组合,B1和A2是没有问题的。B2和A1都是有问题的。 A1,是由于传递参数错误引起的。 B2,则是由于框架重复encode引起的。
对于上面的两种错误情况,各位觉得怎么办比较好??框架是采用A方案呢?还是B方案呢?
这两个方案和两个情况本身就是矛盾的,随便选一个吧,个人推荐方案A,如果有新人加入团队不熟悉框架,还是自己来写的方便,出错还能找到原因######对,矛盾的。择优呢?我个人也偏向于A方案。###### 我觉得吧。你框架,就别涉及到这些处理真正数据的事情,哪怕只是编码一下再解码一下。你如果处理了,容易导致使用的人迷惑不解,而且这种真正涉及到数据的,万一处理错了怎么办?万一你一处理,导致某种特殊的需求实现不了怎么办?而且真实情况中需要urlEncode也只是GET请求,别人能直接请求,就应该自己去处理好要传递的参数能否正确传递到后台的问题。
做框架的,其实不是你做了多少东西,而是你要尽量少做东西。最容易犯的错误就是手伸的太长,管里你不该管的事情。然后就悲剧了,前期一些代码已经基于你的框架了,然后后期人只能继续在你框架的坑里永远爬不出来。 ######嗯。收益匪浅!感谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。