restufCRUD
RESTful: 是一种软件架构的风格,不是标准,只提供设计原则和约束条件【满足这样的原则和条件的就是RESTful 】;使用于客户端和服务端交互的软件
RESTful 的原则和风格:URI :资源名称/资源标识 / HTTP请求方式区分对资源的CRUD操作
普通的CRUD | RESTfulCRUD |
---|---|
查询====getEmp | emp------GET |
添加===addEmp?参数 | emp-----POST |
修改====upadteEmp?参数 | emp/{标识}------PUT |
删除=====deleteEmp?id | emp/{标识}---------DELETE |
URI的风格是:资源的名称/资源的表示。使用HTTP的请求方式表示对资源的操作
1.页面上发出请求: <a class="nav-link" th:href="@{/emps}" > 发出的请求为emps
2.Controller 内处理emps 请求
@Controller
public class EmployeeController {
//查询所有员工返回列表页面
@Autowired
EmployeeDao employeedao;
@GetMapping("/emps")
public String Emps(Model model){
Collection<Employee> list = employeedao.getAll();
//将数据返回页面进行共享数据放在Model 或者是Map 中都是在request 域中的
model.addAttribute("emps",list);
//thymeleaf 执行默认拼串
//classpath:/templates/xxx .html
return "emp/list";
}
}
3.在页面上获取数据
<tr th:each="emp:${emps}">
<td th:text="emp.id"></td>
<td>[[${emp.lastName}]]</td>
<td th:text="${emp.email}">ipsum</td>
<td th:text="${emp.gender}==0?'女':'男'">dolor</td>
<td th:text="${emp.department.departmentName}">sit</td>
<td th:text="${#dates.format(emp.birth, 'dd/MMM/yyyy HH:mm')}"></td> 使用#dates这个工具
</tr>
在页面上写连接:th:href="@{/xxx}"
后端的代码中写连接
1.页面都是自templates 目录下的,在返回这些页面时:不加templates 和 后=后缀.html 模板引擎会自己帮我们拼接完整的路径
2.在自定义视图映射的时候映射的页面也不用写完整的路径,模板引擎会帮我们拼好完整的串。但是映射的url 要写成/xxx 的形式