Restful 风格的接口, GET 请求时在 URL 中直接拼参数,如果是中文或特殊字符无法请求到接口?

2019-01-13 11:47:14 +08:00
 ohyeahhh

今天有个需求是按照邀请码获取折扣信息,需要传递的参数是 id 和 code,由于 code 是直接从 input 中取出来的,暂时没有做校验,输入中文或者特殊字符后请求报错了,才发现有这问题。 开始我的参数拼接方式是这样的:localhost:8080/invitationCode/discount/123456/FH622B1K 发现那个问题后改为:localhost:8080/invitationCode/discount?id=123456&code=FH622B1K 就没有问题,想问一下对于 Restful 这种风格的接口,是要尽量去迎合它还是像我这样直接换种方式?

5814 次点击
所在节点    API
5 条回复
loading
2019-01-13 12:01:03 +08:00
去看看路由部分的代码
lhx2008
2019-01-13 12:02:58 +08:00
有问题就解决问题,报错就解决,不过第二种也没啥问题。
learnshare
2019-01-13 12:08:42 +08:00
lhx2008
2019-01-13 12:09:21 +08:00
不过整个接口设计还是让人不明白,邀请码下面为什么要有一个折扣呢,折扣后面为什么又来邀请码,如果折扣是主体,我会设计成是 /discounts?invitationCode=aaa&userId=5
Parry
2021-07-04 10:10:57 +08:00
编码就可以了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/526528

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX