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

如何将带有'/'符号的值作为get参数传递给控制器?

阎弘
2023-03-14
@RestController
public class MyController {

    @GetMapping(value = "/products/{value}")
    public String get(@PathVariable String value) {
        System.out.println(value);
        return "OK";
    }
}
http://localhost:8080/products/Mazda
http://localhost:8080/products/Mazda\6

如何将带有'\'符号的值作为get参数传递给控制器?

我期待:马自达\6

共有1个答案

孔瑾瑜
2023-03-14

首先,您需要在客户端对path变量进行编码。下面是Java的一个示例:

URLEncoder.encode("Mazda\\6", "UTF-8");

结果将是马自达%5C6。第二步是允许处理在其URL中包含特殊字符的请求。

第三,解码控制器中的字符串

String decodedValue = URLDecoder.decode(value, "UTF-8");
 类似资料:
  • 问题内容: 我有以下任意JSON对象(字段名称可能会更改)。 -- 我知道我可以像定义具有相同字段名的JSON对象那样定义类,但是我希望控制器接受具有不同字段名的任意JSON对象。 问题答案: 如果您想将自定义JSON对象传递给MVC操作,则可以使用此解决方案,它的工作原理很吸引人。 该解决方案的真正好处是,您不需要为每个参数组合定义一个新类,并且除此之外,您可以轻松地将对象转换为其原始类型。 更

  • 我试图将一个参数传递给我的@RESTController-Spring Boot类。 在@POSTMapping方法中,我想使用自定义Java类的方法来处理接收到的正文并返回响应。 Spring应用程序在应用程序中启动。Java语言控制器对象似乎是隐式创建的。 我已经尝试将构造函数添加到我的RESTController类中。但是我找不到用参数调用该构造函数的方法。 尽管我可以定义第二个构造函数,但

  • 我正在使用SoundCloud api创建一个应用程序,并尝试附加用户输入的字符串值,但它在界面中显示为null,我如何在url中附加该值? MainActivity.java SCService.java 搜索的字符串在我的SoundCloud.java类 我想在GET参数中附加那个SCURL字符串,但它显示了SCURL的null值,我如何实现这一点? 更新:我如上所述更改了代码,但出现了此错误

  • 问题内容: 我正在创建一种通过传递搜索字段从任何表中选择ID的方法。 但是我得到一个有关语法错误的MySqlException。当我查看“异常”消息时,它向我显示带引号的查询表!如何将表格作为不带引号的参数传递? 问题答案: 大多数数据库不允许您通过参数指定表名或列名。参数用于 值 。如果确实确实需要使它动态化,则应验证输入(它应该是一个已知的表名,并且该表中具有已知的列名),然后将其包括在SQL

  • 问题内容: 我被困在这个我无法完成的非常基本的表单中,我想用文本输入和两个选择控件构建一个搜索表单,并带有一个接受3个参数的路由,这个问题是当我提交形式,它用问号而不是Laravel方式映射参数, 标记 路线 当我提交表格时,将我重定向到 在没有Javascript的情况下,如何使用Laravel方式将这些参数传递给我的路线!:D 问题答案: 最简单的方法就是接受传入的请求,然后在Controll

  • 如果对象为NULL,则无法传递对象项目。如何将对象从HTML传递给spring控制器?