Spring Boot:@RestController中.(点号)导致截断的问题

在测试/api/v1/user/info/email/{email}这个方法的时候@PathVariable无法正常接收参数,邮件地址中(.)后的值会被截断,在社区http://www.spring4all.com 中通过小马哥和@杨小强的帮助下解决了这个问题,记录一下。

1、局部修改

比如当前的这个path中就确定一定会包含(.)这样的符号,可以通过配置路径为/api/v1/user/info/email/{email:.*}来解决

2、全局配置

全局配置是指在项目的Config文件里配置,代码如下:

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * Created by Administrator on 2017/7/10 0010.
 */
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        configurer.setUseSuffixPatternMatch(false);
    }
}

通过这个,我发现,对WebMvcConfigurerAdapter不太熟悉,后面需要加深一下。

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注