小编mat*_*gul的帖子

当参数以(.pl)结尾时,为什么Spring MVC @RequestMapping会因映射(/user/{username:.+})而抛出406错误

@RequestMapping(value = "/user/{username:.+}", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
User user(@PathVariable String username) {
    User user = userRepository.findByUsername(username);
    if (user == null)
        throw new UserNotFoundException("User not found");

    return user;
}
Run Code Online (Sandbox Code Playgroud)

这是表示该动作的方法.控制器注释为@RestController

解决了

应覆盖内容类型协商机制.

Explonation:http://spring.io/blog/2013/05/11/content-negotiation-using-spring-mvc

码:

@Override
  public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.mediaType("pl", MediaType.APPLICATION_JSON);
  }
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-boot

6
推荐指数
1
解决办法
730
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1

spring-mvc ×1