今天有个需求是按照邀请码获取折扣信息,需要传递的参数是 id 和 code,由于 code 是直接从 input 中取出来的,暂时没有做校验,输入中文或者特殊字符后请求报错了,才发现有这问题。 开始我的参数拼接方式是这样的:localhost:8080/invitationCode/discount/123456/FH622B1K 发现那个问题后改为:localhost:8080/invitationCode/discount?id=123456&code=FH622B1K 就没有问题,想问一下对于 Restful 这种风格的接口,是要尽量去迎合它还是像我这样直接换种方式?
1
loading 2019-01-13 12:01:03 +08:00 via Android
去看看路由部分的代码
|
2
lhx2008 2019-01-13 12:02:58 +08:00 via Android
有问题就解决问题,报错就解决,不过第二种也没啥问题。
|
3
learnshare 2019-01-13 12:08:42 +08:00
URL 里的特殊字符需要 encodeURI https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI
|
4
lhx2008 2019-01-13 12:09:21 +08:00 via Android
不过整个接口设计还是让人不明白,邀请码下面为什么要有一个折扣呢,折扣后面为什么又来邀请码,如果折扣是主体,我会设计成是 /discounts?invitationCode=aaa&userId=5
|
5
Parry 2021-07-04 10:10:57 +08:00
编码就可以了。
|