V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ohyeahhh
V2EX  ›  API

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

  •  
  •   ohyeahhh · 2019-01-13 11:47:14 +08:00 · 5820 次点击
    这是一个创建于 2176 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2021-07-04 10:10:57 +08:00
    loading
        1
    loading  
       2019-01-13 12:01:03 +08:00 via Android
    去看看路由部分的代码
    lhx2008
        2
    lhx2008  
       2019-01-13 12:02:58 +08:00 via Android
    有问题就解决问题,报错就解决,不过第二种也没啥问题。
    learnshare
        3
    learnshare  
       2019-01-13 12:08:42 +08:00
    lhx2008
        4
    lhx2008  
       2019-01-13 12:09:21 +08:00 via Android
    不过整个接口设计还是让人不明白,邀请码下面为什么要有一个折扣呢,折扣后面为什么又来邀请码,如果折扣是主体,我会设计成是 /discounts?invitationCode=aaa&userId=5
    Parry
        5
    Parry  
       2021-07-04 10:10:57 +08:00
    编码就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.