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

@RequestParam没有映射整个字符串

夏谦
2023-03-14

我有一个Getendpoint,它接受查询字符串作为请求参数。endpoint的问题是请求参数字符串可能包含像?,/etc这样的字符,这导致了问题。有什么方法可以将包含?,/etc的字符串映射到rest控制器中的变量吗?

已经尝试使用@PathVariable而不是@RequestParam,但是它仍然没有正确读取值。当使用@PathVariable映射uri时,?被省略了。当使用@RequestParam时,它会引发一个异常

@GetMapping("/getResult")
public @ResponseBody ResponseEntity<String> getData(@RequestParam(value="text") String text) {
    //Call to service layer passing text as a param
    return new ResponseEntity<String>("GET Response", HttpStatus.OK);
}

URL : 'localhost/getResult?text=How you doing?'

StackTrace:

共有1个答案

有骏祥
2023-03-14

如果您直接从浏览器、curl或postman调用url。您应该对不同的特殊字符使用编码,如对空格编码为%20。这意味着当你写“你好吗?”这就是URL中的“how%20are%20you%3f”。请参阅本站了解更多信息。

如果调用来自任何编程语言。请使用URL编码器。

 类似资料:
  • 我对的枚举有问题。在方法中有两个枚举:和。是内置的Spring枚举,它完美地从String转换为Enum: 但是当我打电话的时候 我阅读并测试了: 带枚举的Spring的@RequestParam Spring Boot能够接受枚举作为请求参数 枚举作为Spring Boot Rest中的请求参数 如何在RequestParm中将多个值转换为枚举? @RequestParam defaultval

  • 这个问题不难,我已经用自己的方法解决了,但我想听听你的意见,也许有什么方法可以让这成为一个改进的选择?Java 8-11。

  • 问题内容: 问题: 给定一个字符串数据数组 我想要一个返回索引数据集的函数 和一个查询表 这样 是真的。请注意,和都可以进行排列,以使上述内容成立并且很好(即,的顺序不必等于中的首次出现的顺序)。 解决方法: 我目前有以下慢速解决方案 有更快的方法吗?我觉得我没有在这里充分利用numpy的潜力。 问题答案: 您可以使用以下参数: 如果愿意,可以从以下两个数组重建原始数组: 如果使用熊猫,将实现相同

  • 我正在尝试使用spring MVC。我的问题是,在我的控制器中没有请求映射工作,只有我的主页链接:“/”工作。 我的web.xml文件是: 2019年5月9日下午4:55:42 org.springframework.web.servlet.dispatcherservlet noHandlerFound警告:GET/springmvc/showform没有映射

  • 我正在编写一个JSON接口/库,用于Bugzilla的webservice。 这可以使用注释或其他内容吗?还是要为每个这样的实例编写一个自定义反序列化程序? 我试着做了一些研究,发现了一些关于值实例化器或使用构造函数的信息,但使用构造函数不是反bean吗?我发现新特性的文档很少或难以理解。 示例: 我对一个字段使用pojo的原因是,这个用户类是由另一个具有更多字段的用户类扩展的。虽然我可以实现一个

  • 在映射上分配一些默认值 我知道我需要在地图中添加值 问题是我的循环不起作用。我需要从地图中添加value2,基于从那里的位置或从地图中添加value2