开发者社区> 问答> 正文

请求参数在哪里UrlEncode合适? 400 请求报错 

项目中有些请求参数需要urlEncode(文档中会写出来是否需要encode)。 现在自己写了一个网络请求框架。
现在的问题是:这个参数的encode操作在哪里做比较合适? 两种选择: A: 传递参数之前encode好了,然后传递到框架中。框架只负责对参数的拼接。 B:传递参数之前什么都不做,在框架中,对参数进行encode之后,对参数进行拼接。
传递参数可能会出现两种情况: 1.中文字符忘了encode就传参。 2.中文字符encode了之后再传参。
以上A‘B和1’2的组合,B1和A2是没有问题的。B2和A1都是有问题的。 A1,是由于传递参数错误引起的。 B2,则是由于框架重复encode引起的。

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

展开
收起
kun坤 2020-05-29 17:19:37 641 0
1 条回答
写回答
取消 提交回答
  • 这两个方案和两个情况本身就是矛盾的,随便选一个吧,个人推荐方案A,如果有新人加入团队不熟悉框架,还是自己来写的方便,出错还能找到原因######对,矛盾的。择优呢?我个人也偏向于A方案。###### 我觉得吧。你框架,就别涉及到这些处理真正数据的事情,哪怕只是编码一下再解码一下。你如果处理了,容易导致使用的人迷惑不解,而且这种真正涉及到数据的,万一处理错了怎么办?万一你一处理,导致某种特殊的需求实现不了怎么办?而且真实情况中需要urlEncode也只是GET请求,别人能直接请求,就应该自己去处理好要传递的参数能否正确传递到后台的问题。
    做框架的,其实不是你做了多少东西,而是你要尽量少做东西。最容易犯的错误就是手伸的太长,管里你不该管的事情。然后就悲剧了,前期一些代码已经基于你的框架了,然后后期人只能继续在你框架的坑里永远爬不出来。 ######嗯。收益匪浅!感谢!

    2020-05-29 17:22:09
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载