前言
前些天在做一个spring boot项目的时候,在后台传送json数据给前端的时候,遇到了一些小问题,总结了一下网上的几种容易犯错的情况,写个博客记录一下
注意事项
-
第一个注意事项是@Autowired的注解
- Service层或者Controller层实现类未添加注解@Autowired
- @Autowired的作用是自动注入依赖的Bean
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
}
- 第二个注意事项是Controller层的注解
- 返回json数据要用@RestController注解,不能用@Controller注解
- @RestController注解,相当于@Controller+@ResponseBody两个注解的结合
- 使用@RestController这个注解,就不能返回jsp或者html页面,因为视图解析器无法解析jsp或者html页面
@Controller
public class HelloController {
@Autowired
UserService userService;
}
@RestController
public class JSONController {
@Autowired
UserService userService;
}
- 第三个注意事项是实体类未写Getter方法
- 实体类必须要写Getter方法,否则拿不出数据
报错情况
- 为什么会报错
- 查询一条数据,但返回两条数据;
- 查询多条数据,但是前台限制只能查询一条;
解决方法
- 控制查询与返回的数据数量必须一致;
- 如果读者想返回多条数据,可以将json数据存到list,map等数据结构,返回list,map等数据结构;