在UriComponentsBuilder中更改URI模式

时间:2015-08-26 08:15:33

标签: java spring

在spring web jar中,类UriComponentsBuilder具有以下模式定义,

private static final Pattern QUERY_PARAM_PATTERN = Pattern.compile("([^&=]+)(=?)([^&]+)?");

我想进行模式编辑并添加使用我的自定义模式。那我该怎么办呢?唯一的解决方案是编辑源并创建一个新的Web jar并使用它吗?

1 个答案:

答案 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);
  } 
 }
}