Spring boot 使用url编码字符在Spring boot中进行请求映射

Spring boot 使用url编码字符在Spring boot中进行请求映射,spring-boot,tomcat8,Spring Boot,Tomcat8,在我的Spring Boot应用程序中,我有一个由客户端的值连接而成的URL,例如: /api/foo/{客户端定义值}/bar/ 真正的URL可以是这样的: /api/foo/OBCH.%20Z%C3%81CI/bar/ 非url编码值为OBCH。斯多普奇 在控制器中,我定义了GET请求映射: @GetMapping(value = "/foo/{value:[^\\/]+}/bar/") 但未找到映射: 找不到URI为的HTTP请求的映射 我做错了什么 您可以使用注解@Pathvariab

在我的Spring Boot应用程序中,我有一个由客户端的值连接而成的URL,例如:

/api/foo/{客户端定义值}/bar/

真正的URL可以是这样的:

/api/foo/OBCH.%20Z%C3%81CI/bar/

非url编码值为OBCH。斯多普奇

在控制器中,我定义了GET请求映射:

@GetMapping(value = "/foo/{value:[^\\/]+}/bar/")
但未找到映射:

找不到URI为的HTTP请求的映射


我做错了什么

您可以使用注解@Pathvariableclient定义的值作为方法参数来访问URL变量

像这样:

@RequestMapping(value = "/api/foo/{client-defined-value}/bar/")
public void foo(@PathVariable("client-defined-value") String value) {
    doSomething…
}

请读我的问题。HTTP请求映射到特定控制器方法时出现问题,而不是您理解的从URL读取值时出现问题。是否将RequestMappingvalue=/api/foo/{client defined value}/bar/?这有帮助吗?