1

有人可以告诉我为什么我的电子邮件地址被削减了..为了测试,我们使用电子邮件地址,如test@aol.com.dev

我有以下代码:

@RequestMapping(value = "/profilenumber/{email}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<String> getProfileNumber(@PathVariable String email, ModelMap model) throws ResourceNotFoundException
{
    logger.debug("Looking for Profile Number for: " + email);
}

我的 logger.debug 的输出是test@aol.com我们正在丢失我们需要的.dev。有人可以告诉我为什么我们会失去它

Java 在我的 WebConfig 中有这个,但它没有帮助

@Bean
    public DefaultAnnotationHandlerMapping defaultAnnotationHandlerMapping ()
    {
        DefaultAnnotationHandlerMapping b = new DefaultAnnotationHandlerMapping();

        b.setUseDefaultSuffixPattern(false);
        return b;
    }
4

2 回答 2

3

我修复了它,但将代码更改为以下内容:

@RequestMapping(value = "/profilenumber/{email:.+}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<String> getProfileNumber(@PathVariable String email, ModelMap model) throws ResourceNotFoundException
{
    logger.debug("Looking for Profile Number for: " + email);
}

看起来这就是我所要做的

于 2013-06-13T19:50:46.030 回答
1

如果您使用的是 spring 3.0.x,请将以下内容添加到您的 spring 配置文件中:

<!-- Spring Configuration needed to avoid URI using dots to be truncated -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    <property name="useDefaultSuffixPattern" value="false" />
</bean>

如果您使用的是更新版本的 spring,请查看以下讨论:Spring MVC @PathVariable with dot (.) is getting truncated

Spring 默认配置切断了 url 中的扩展。

于 2013-06-13T17:41:40.193 回答