当前位置: 首页 > 知识库问答 >
问题:

ReSTful服务由于path参数值有正斜杠而产生矛盾

华乐逸
2023-03-14

>

  • /objectname/name

    /objectname/collection/id

    这两个API都是间接相关的。

  • 共有1个答案

    叶建柏
    2023-03-14

    冲突来自于直接在资源路径中指定名称并作为@PathVariable传递给函数。

    您的代码如下所示:

    @RequestMapping(value = "objectname/{name}", method = RequestMethod.GET)
        public String yourMethodName(@PathVariable String name){
            return name;
        }
    

    为了避免这种冲突,我建议(如果允许修改@RESTController或@RepositoryRestResource层)在@RequestParam中传递对象的值

    例如:

    @RequestMapping(value = "/objectname", method = RequestMethod.GET)
        public String yourMethodName(@RequestParam(name = "name", required = true) String name){
     return name;
    }
    

    也就是说,当您使用RestTemplate构造请求时,您应该对您的名称进行url编码(%2fb%20testing),并构造以下url:

     类似资料:
    • 本文向大家介绍Python中的左斜杠、右斜杠(正斜杠和反斜杠),包括了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的使用技巧和注意事项,需要的朋友参考一下 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows (一)目录中的斜杠们 python读文件需要输入的目录参数,列出以下

    • 我有以下路径:,我想将其转换为: 我试图将上面的路径附加到这个路径:with但是当我将两个字符串附加在一起时,这是输出: 下面是有问题的代码: 由于斜杠的原因,附加的路径未被视为文件夹。有什么帮助吗? 编辑:只是澄清一下,完整路径(两个附加字符串)实际上是一个文件夹。

    • 问题内容: 我从Instagram提取JSON: 然后将变量解析为PHP数组以重组数据,然后重新编码和缓存文件: 当我打开缓存文件时,我所有的正斜杠“ /”都被转义了: 我从搜索中收集到自动执行此操作…是否可以禁用它? 问题答案: 有没有办法禁用它? 是的,您只需要使用该标志。 重要的 阅读之前:https : //stackoverflow.com/a/10210367/367456(知道你在做

    • 问题内容: 我正在尝试将转换为,但是我不断遇到各种错误。我认为这是解决方案: 但这给出了以下异常: 问题答案: 将该参数解释为正则表达式。该是转义字符都 和。你需要对正则表达式进行两次转义: 但是你不必为此使用正则表达式,仅是因为你希望逐个字符地进行精确替换,并且这里不需要模式。因此就足够了: 更新:根据注释,你似乎想在JavaScript上下文中使用字符串。你最好使用它来覆盖更多字符。

    • 问题内容: 我不明白为什么下面的代码不按预期运行 预期产量: 实际输出: 我是否需要转义正斜线?我不这么认为,但是我也尝试了以下尝试……没有用 最后,我意识到我不需要正则表达式,我可以只使用以下内容,而不会创建正则表达式 但是,我仍然想了解为什么我的第一个示例不起作用。 问题答案: 问题实际上是您需要在替换字符串中双转义 反斜杠 。您会看到,(我确定您知道)表示替换字符串是,并且(您可能不知道)替

    • 问题内容: 谁能告诉我在Java中如何使用正斜杠转义字符。我知道反斜杠是\ \,但是我尝试了\ /和/ /却没有运气! 这是我的代码: 提前致谢! 问题答案: 您既不需要以Java语言或正则表达式来转义正斜杠。 还要注意这样的块: 更紧凑和可读地写为: 因此,对于您而言,我相信您的方法应类似于: 请注意,这不是测试有效日期的一种非常好的方法-可能也应该尝试将其解析 为 日期,或者将其解析 为 日期