在spring web jar中,类UriComponentsBuilder具有以下模式定义,
private static final Pattern QUERY_PARAM_PATTERN = Pattern.compile("([^&=]+)(=?)([^&]+)?");
我想进行模式编辑并添加使用我的自定义模式。那我该怎么办呢?唯一的解决方案是编辑源并创建一个新的Web jar并使用它吗?
答案 0 :(得分:0)
通常我们不需要更改模式,但如果你还想要
您可以简单地扩展UriComponentsBuilder类并覆盖使用该模式的方法,似乎只有此查询方法使用该模式。
public UriComponentsBuilder query(String query) {
if (query != null) {
Matcher matcher = QUERY_PARAM_PATTERN.matcher(query);
这样的事情:
public class MyUriComponentsBuilder extends UriComponentsBuilder {
private static final Pattern MY_QUERY_PARAM_PATTERN = Pattern.compile("([^&=]+)(=?)([^&]+)?");
@Override
public UriComponentsBuilder query(String query) {
if (query != null) {
Matcher matcher = MY_QUERY_PARAM_PATTERN.matcher(query);
}
}
}