情况一
引起的原因:
由于设置了@ResponseBody,要把对象转换成json格式,缺少转换依赖的jar包,故报错。
解决办法:
加入依赖的jar,jackson-core-asl-x.x.x.jar,jackson-mapper-asl-x.x.x.jar问题解决。
原文请参考:http://jadethao.iteye.com/blog/1926525?utm_source=tuicool&utm_medium=referral
情况二
SpringMvc配置的url-pattern映射规则如下,所有的请求都必须以.html结尾:
Controller:
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userService;
/**
* 检查用户名是否可用
* @param username
* @param type
* @return
*/
@RequestMapping(value = "{param}/{type}")
public ResponseEntity<Boolean> check(@PathVariable(value = "param") String param,
@PathVariable(value = "type") Integer type) {
try {
Boolean result = this.userService.check(param, type);
if (null == result) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null);
}
// 为了兼容js逻辑,将结果取反
return ResponseEntity.ok(!result);
} catch (Exception e) {
e.printStackTrace();
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
请求结果:
控制台错误日志:
错误日志和第一种情况是一样的,但导包没有问题。
引起原因:
SpringMVC规定:在SpringMVC中如果请求以html结尾,那么就不会返回JSON数据。
解决办法:
添加url-pattern映射规则: