Restful风格


前言

今天是四月份的最后一天,所以@别叫小宋来给大家分享一篇关于在这个月学习到的一个小知识点!希望可以帮助到正在学习期间的你。


一、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风格的相关操作与应用!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值