今天遇到一个很奇怪的问题,用springboot开发时,请求服务想返回json数据,页面总是报406错误,这个错误使我郁闷了很久
状态码:406,请求头(Request Headers)中看到Accept优先是application/json格式,而响应头(Response Hraders)中却发现返回信息的格式是“text/html”,前台无法解析,需将结果转换成json格式返回给前台。
检查了很多次后端代码也没问题
@RestController
@RequestMapping("/api/v1/video")
public class VideoController {
@Autowired
private VideoCardService videoCardService;
@Autowired
private RedisTemplate redisTemplate;
/**
* 有缓存
* @return
*/
@GetMapping("list_cache")
public JsonData listCardCache(){
Object cacheObj = redisTemplate.opsForValue().get(VIDEO_CARD_CACHE_KEY);
if(cacheObj != null){
List<VideoCardDO> list = (List<VideoCardDO>) cacheObj;
return JsonData.buildSuccess(list);
} else {
List<VideoCardDO> list = videoCardService.list();
redisTemplate.opsForValue().set(VIDEO_CARD_CACHE_KEY,list,10,TimeUnit.MINUTES);
return JsonData.buildSuccess(list);
}
}
查阅了很多博文都少了依赖,加上后清理缓存重新install之后还是406,最后在json工具类中发现忘写getset...