我需要从url获取字符串"?"但是控制器不接受"?"
我需要发送类似" Hello world?" 但我只得到了#34; Hello world"
我找到点(。)的解决方案 - 值=" {textToTransform:。+}"
@RestController
@RequestMapping(textTransformCtrl.BASE_URI)
public class textTransformCtrl {
@Autowired
private TextTransformatorService textTransformatorService;
public static final String BASE_URI = "transform/text";
@RequestMapping(value = "{textToTransform:.+}")
public String getText(@PathVariable final String textToTransform) {
return textTransformatorService.transformText(textToTransform);
}
}
答案 0 :(得分:1)
问号是URL中的保留字符。它指示查询字符串的开始位置。
如果要将?
作为参数值发送并且能够在服务器端读取它,则必须对其进行URL编码。
进行网址编码后,Hello world?
变为Hello+world%3F
。
答案 1 :(得分:0)
您可以使用%3F
手动编码或查看UriBuilder