【发布时间】:2020-02-02 20:06:05
【问题描述】:
我的情况很奇怪。我有一个 API 端点,它必须接受列出给定端点可用的所有资源并列出特定资源的请求。端点如下所示:
/v1/patients
我可以在不传递任何路径变量的情况下调用它,它会列出所有患者记录。特殊情况出现了 - 如果我只想获取一名患者,我必须将患者编号作为路径变量传递 - 我的患者编号看起来像这样 - 2019/patientname/October/27 - 这就是问题所在。
当我将上述数字作为路径变量传递时,我不会得到我想要的资源,而是 Spring 将斜杠“/”视为分隔符。
例子:
/v1/patients/2019/patientname/October/27
我得到的响应是找不到给定路径 - 当然没有这样的路径。
是否有可能忽略这个患者编号之间的所有斜线?
编辑:不可能更改患者编号,因为它是运行整个系统的非常古老的遗留代码库的一部分。
编辑 2 - 在这种情况下不能使用 URL 编码 - 这个患者编号必须按原样传递 - 情况非常糟糕。
【问题讨论】:
-
抱歉,在这种特殊情况下,URL 编码对我没有帮助:(
标签: spring rest spring-boot