文章目录
前言
今天是四月份的最后一天,所以@别叫小宋来给大家分享一篇关于在这个月学习到的一个小知识点!希望可以帮助到正在学习期间的你。
一、Restful风格是什么?
Restful是一种软件开发中的设计风格、它不是标准,只是提供了一组设计原则和约束条件。正如我们现实生活中的靠右行驶一样,是一种行为规范。它主要用于客户端和服务器交互类的软件。使用这种风格设计的软件可以变得更加简洁、更有层次、更易于实现缓存等机制。
二、Restful风格里面的请求方式
1.Get
2.POST
3.PUT
4.DELETE
这四个在项目接口中分别代表的是查、增、改、删。
GET请求 对应 查询
http://ip:port/工程名/book/1 HTTP请求GET 表示要查询id为1的图书
http://ip:port/工程名/book HTTP请求GET 表示查询全部的图书
POST请求 对应 添加
http://ip:port/工程名/book HTTP请求POST 表示要添加一个图书
PUT请求 对应 修改
http://ip:port/工程名/book/1 HTTP请求PUT 表示要修改id为1的图书信息
DELETE请求 对应 删除
http://ip:port/工程名/book/1 HTTP请求DELETE 表示要删除id为1的图书信息
三、Restful风格的Controller如何实现
@Controller
public class RestfulController {
@RequestMapping(value="/book/1",method=RequestMethod.GET)
public String queryBookById() {
System.out.println("根据id查询一本图书");
return "/restful.jsp";
}
@RequestMapping(value="/book",method=RequestMethod.GET)
public String queryBooks() {
System.out.println("查询全部图书");
return "/restful.jsp";
}
@RequestMapping(value="/book",method=RequestMethod.POST)
public String addBook() {
System.out.println("post请求 添加图书");
return "/restful.jsp";
}
@RequestMapping(value="/book/1",method=RequestMethod.PUT)
public String updateBook() {
System.out.println("修改图书");
return "/restful.jsp";
}
@RequestMapping(value="/book/1",method=RequestMethod.DELETE)
public String deleteBook() {
System.out.println("删除图书");
return "/restful.jsp";
}
}
四、Restful风格的增删改查实现
1.Get(查询)
/***
* 根据讲师id进行查询
* @param id
* @return
*/
@ApiOperation(value ="根据ID查询讲师")
@GetMapping("getTeacher/{id}")
public R getTeacher(@PathVariable Integer id){
EduTeacher eduTeacher = teacherService.getById(id);
return R.ok().data("teacher",eduTeacher);
}
}
2.Post(增加)
/***
* 添加讲师接口的方法
* @param eduTeacher
* @return
*/
@ApiOperation(value = "添加讲师操作")
@PostMapping("addTeacher")
public R addTeacher(@RequestBody EduTeacher eduTeacher){
boolean save = teacherService.save(eduTeacher);
if (save){
return R.ok();
}else {
return R.error();
}
}
3.DELETE(删除)
/***
* {id}/@PathVariable String id :通过路径传递参数值
* 逻辑删除讲师的方法
* @param id
* @return
*/
@DeleteMapping("{id}")
@ApiOperation(value = "逻辑删除讲师")
public R removeTeacher(@ApiParam(name ="id",value = "讲师ID",required = true) @PathVariable Integer id){
boolean flag = teacherService.removeById(id);
if(flag){
return R.ok();
}else {
return R.error();
}
}
4.PUT(修改)
/***
* 根据id修改讲师信息
* @param id
* @param eduTeacher
* @return
*/
@ApiOperation(value = "根据ID修改讲师")
@PutMapping("{id}")
public R updateByID(
@ApiParam(name = "id",value = "讲师ID",required = true)
@PathVariable Integer id,
@ApiParam(name = "teacher",value = "讲师对象",required = true)
@RequestBody EduTeacher eduTeacher){
eduTeacher.setId(id);
teacherService.updateById(eduTeacher);
return R.ok();
}
总结
本片文章是本人在学习过程中做讲师管理系统中遇见的使用Restful风格开发的CRUD接口的书写,希望大家可以参观参观,了解下Restful风格的相关操作与应用!