【问题标题】:Wrong character in URL endpoint parameter [duplicate]URL 端点参数中的字符错误 [重复]
【发布时间】:2021-10-01 06:37:38
【问题描述】:

我对通过 URL endpiont 发送的参数有疑问。 URL 的构造方式非常典型:

var url = 'Url' + 'info/' + '/getInstallmentScheduleInfoList/' + invoice_number;

问题出在 invoice_number 上。基本上有一些字符串值,但有时它需要带有“/”字符的字符串。例如 invoice_number = '2021/153ABC'。在这种情况下,后端控制器需要具有两个不同参数的 endpiont:“2021”和“153ABC”。显然这是错误的,并且抛出了 NotFoundException。这些值取自外部世界,我想知道是否有某种方法可以在我的代码中修复它。 这是我的控制器代码的签名和注释:

@RequestMapping(value = "/getInstallmentScheduleInfoList/{installmentInvoiceNumber}", method = RequestMethod.GET)
public @ResponseBody
List<RecordWrapper<InstallmentScheduleInfo>> getInstallmentScheduleInfoList(@PathVariable String installmentInvoiceNumber) 

【问题讨论】:

    标签: java spring endpoint


    【解决方案1】:

    参数应作为编码参数传递。编码后的值会变成 "2021%2F153ABC" 之类的东西。这将被正确处理。这是向 URL 传递参数的标准方式。

    在 java 中,我们有 URLEncoderURLDecoder 类。虽然您也可以找到一些在线编码器和解码器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      • 2018-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      • 2014-10-15
      相关资源
      最近更新 更多