如何在springboot中阻止默认情况下对@PathVariable值的解码

时间:2019-04-10 13:32:30

标签: java spring-boot

我有一个运行在Tomcat上的Spring-Boot应用程序。在其中,我有一个带有pathvariable的RestController。 默认情况下,pathvariable会解码,例如,如果我给http://localhost:8080/v1/test/test2/%26,则path变量会自动解码为&,我需要禁用此自动解码。


@RequestMapping(value = "/v1/test/test2//{pathVariable:.+}", method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
     public String getV2LocationByName(
                                      @PathVariable
                                      String cityName,
                                      @RequestParam(value = LANGUAGE, defaultValue = US_ENGLISH_LOCALE) String language,
                                      HttpServletRequest request) throws InterruptedException, ExecutionException {
--------------
---------------
}

1 个答案:

答案 0 :(得分:0)

也许尝试从UTF-8对其进行编码

String encodedParam = URLEncoder.encode(test, "UTF-8");

您可以找到更多详细信息here