11.8 控制器层
我们新建子目录controller,然后在下面新建控制器类:
1. @Controller
2. class ArticleController {
4. }
我们首先,装配数据访问层的接口Bean:
1. @Autowired val articleRepository: ArticleRepository? = null
这个接口Bean的实例化由Spring data jpa完成。如果我们去 <http://127.0.0.1:8000/application/beans> 中查看这个Bean,我们可以看到信息如下:
1. {
2. "bean": "articleRepository",
3. "aliases": [
5. ],
6. "scope": "singleton",
7. "type": "com.easy.kotlin.chapter11_kotlin_springboot.dao.ArticleRepository",
8. "resource": "null",
9. "dependencies": [
10. "(inner bean)#39c36d98",
11. "(inner bean)#19d60142",
12. "(inner bean)#1757cb01",
13. "(inner bean)#6dd045f0",
14. "jpaMappingContext"
15. ]
16. }
我们先来实现一个简单的查询所有记录的REST接口。我们在ArticleRepository中重写了findAll方法:
1. override fun findAll(): MutableList<Article>
然后,我们在控制器代码中直接调用这个接口方法:
1. @GetMapping("listAllArticle")
2. @ResponseBody
3. fun listAllArticle(): MutableList<Article>? {
4. return articleRepository?.findAll()
5. }
其中,注解@ResponseBody表示把方法返回值直接绑定到响应体(response body)。
