ohyeahhh
V2EX  ›  API

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

  •  
  •   ohyeahhh · Jan 13, 2019 · 6928 views
    This topic created in 2850 days ago, the information mentioned may be changed or developed.

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

    5 replies  •  2021-07-04 10:10:57 +08:00
    loading
    loading
    Jan 13, 2019 via Android
    1
    去看看路由部分的代码
    lhx2008
    lhx2008
    Jan 13, 2019 via Android
    2
    有问题就解决问题,报错就解决,不过第二种也没啥问题。
    lhx2008
    lhx2008
    Jan 13, 2019 via Android
    4
    不过整个接口设计还是让人不明白,邀请码下面为什么要有一个折扣呢,折扣后面为什么又来邀请码,如果折扣是主体,我会设计成是 /discounts?invitationCode=aaa&userId=5
    Parry
    Parry
    PRO
    Jul 4, 2021
    5
    编码就可以了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1442 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    ♥ Do have faith in what you're doing.