客户端在一个请求参数中发送一些数据,例如:
example.com/test?myparam=some123data
我想将myparam
转换为其他几个参数,并使用此类参数调用必要的控制器。像这样一个:
@RequestMapping(value = "/test")
public @ResponseBody MyObject test(
@RequestParam(value = "prefix") String prefix, // some
@RequestParam(value = "number") int number, // 123
@RequestParam(value = "suffix") String suffix) //data
{ ... }
可以为这种情况放置一些自定义转换器吗?
答案 0 :(得分:2)
我不确定是否可以将其设置为请求参数。相反,您可以通过以下方式将路径变量与正则表达式结合使用:
@RequestMapping(value = "/test/{prefix:[a-z]+}{number:[0-9]+}{suffix:[a-z]+}")
public @ResponseBody MyObject test(
@PathVariable(value = "prefix") String prefix, // some
@PathVariable(value = "number") int number, // 123
@PathVariable(value = "suffix") String suffix) //data
{ ... }
在这种情况下,您的请求网址将如下所示:
example.com/test/some123data
答案 1 :(得分:0)
您可以尝试实现自己的参数解析器here an example