之前完成师傅交代的任务时,才了解到,原来Controller中可以使用更严谨的restful风格进行接口的代码编写。restful风格说白了是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
简单点说就是,使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 分别对应 添加、 删除、修改、查询。
例如传统接口url写法:
http://127.0.0.1/item/queryUser.action?id=1 查询,GET
http://127.0.0.1/item/saveUser.action 新增,POST
http://127.0.0.1/item/updateUser.action 更新,POST
http://127.0.0.1/item/deleteUser.action?id=1 删除,GET或POST
使用restful风格的接口url写法:
【GET】 /users # 查询用户信息列表
【GET】 /users/1001 # 查看某个用户信息
【POST】 /users # 新建用户信息
【PUT】 /users/1001 # 更新用户信息(全部字段)
【PATCH】 /users/1001 # 更新用户信息(部分字段)
【DELETE】 /users/1001 # 删除用户信息
简单概括restful设计风格:1.使用名词而不是动词;2.Get方法和查询参数不应该涉及状态改变;3.使用复数名词;4. 使用子资源表达关系;5.使用Http头声明序列化格式;6.为集合提供过滤 排序 选择和分页等功能;7.版本化你的API;8. 使用Http状态码处理错误;9.允许覆盖http方法。
之前统一写的@RequestMapping,在使用restful风格之后,被替换成了@GetMapping @PostMapping@DeleteMapping @PutMapping注解,两种写法