一、controller用法
1、@controller和@RestController注解的区别
@controller处理http请求,页面展示需要配合thymeleaf模板使用。
示例:
a、首先,在pom文件添加thymeleaf模板依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
b、新建GirConerllr:
package com.springboot.gril.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.springboot.gril.entity.Girl;
import com.springboot.gril.repository.GirlRepository;
@Controller
public class GirlController {
@Autowired
private GirlRepository girlRepository;
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String test(){
return "index";
}
}
c、在resource/templates下创建index.html文件,这里的html文件名必须跟controller的方法返回的的名称一致:
index.html:
<h1>
Hello Spring Boot!
</h1>
d、启动项目,测试效果:
这里thymeleaf模板的使用我也不是很熟练,也不是本篇文章的重点内容,我就不做详细的介绍,想做深入了解的可以查看官方文档。另外,现在项目趋向于前后端分离,后端一般给前端提供接口,返回json串,因此这里推荐使用下面介绍的@RestController注解。
2、@RestController注解
@RestController注解实际上是一个组合注解,相当于@controller和@ResponseBody配合使用。后面的内容都是使用的@RestController注解,在这里就不单独举例子讲解。
3、多个路径指向同一个方法
实现多个路径指向同一个方法,只需在@RequestMapping的value中以集合的方式:
package com.springboot.gril.controller;
import java.util.List;
import org.springframework.beans.factory.annotat