Spring Boot RESTful风格
2018-03-02 15:42
465 查看
RESTful 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
下面来看一组 传统API 和 RESTful API 写法的对比:
开发 RESTful API 常用的 Spring MVC 注解:
http://blog.csdn.net/qq_22860341/article/details/79214442
实体类,以及数据库字段:
1,新增:
springMVC:
测试请求
1,可以使用火狐的RESTful模拟测试
2 使用google的POSTman
这里使用火狐RESTful,下载一个插件即可。
模拟新增请求:
数据库:
2,查询
mvc
测试请求:
修改:
测试
删除
测试:
下面来看一组 传统API 和 RESTful API 写法的对比:
方式 | 传统API请求方法 | 传统API写法 | RESTful API请求方法 | RESTful API写法 |
---|---|---|---|---|
查询 | GET | /user/query?name=tom | GET | /user?name=tom |
详情 | GET | /user/getInfo?id=1 | GET | /user/{id} |
创建 | POST | /user/create?name=tom | POST | /user |
修改 | POST | /user/update?id=1&name=joy | PUT | /user/{id} |
删除 | GET | /user/delete?id=1 | DELETE | /user/{id} |
Spring MVC常用的注解 | 说明 |
---|---|
@RestController | Spring4之后新加的注解,等同于@ResponseBody+@Controller,标明此Controller提供RESTful API |
@GetMapping | 组合注解,等同于@RequestMapping(method = RequestMethod.GET),同理还有@PostMapping、@PutMapping、@DeleteMapping |
@RequestParam | 映射请求参数到java方法的参数,属性required:是否必传 |
@PageableDefault | 指定分页参数默认值 |
@RequestBody | 映射请求体到java方法的参数 |
@Valid 和 @BindingResult | 验证请求参数的合法性并处理校验结果 |
基于Restful设计的增删改查
基于之前的springboot web开发集成mybatis程序,http://blog.csdn.net/qq_22860341/article/details/79214442
实体类,以及数据库字段:
package com.example.demo.model; import java.io.Serializable; import java.util.Date; public class User implements Serializable{ private static final long serialVersionUID = 1L; private Integer userid; private String account; private String password; private String name; private String sex; private String parent; private String phone; private Date createtime; private Integer usertype; private String classes; private String address; //此处省略get和set方法。 }
1,新增:
springMVC:
@RestController public class RESTfulController { @Autowired private UserService userService; /** * 新增 * @param user * @return */ @PostMapping(value = "/user") public String createUser(@RequestBody User user){ int num = userService.insert(user); if(num==0){ return "error"; } return "success"; } }
测试请求
1,可以使用火狐的RESTful模拟测试
2 使用google的POSTman
这里使用火狐RESTful,下载一个插件即可。
模拟新增请求:
数据库:
2,查询
mvc
/** * 修改 * 以修改名字name为例 * @return */ @PutMapping("/user/{id}") public String updateUser(@PathVariable Integer id,@RequestBody User user){ User users = userService.selectByPrimaryKey(id); users.setName(user.getName()); int num = userService.updateByPrimaryKey(users); if(num==0){ return "error"; } return "success"; }
测试请求:
修改:
/** * 修改 * 以修改名字name为例 * @return */ @PutMapping("/user/{id}") public String updateUser(@PathVariable Integer id,@RequestParam String name){ User user = userService.selectByPrimaryKey(id); user.setName(name); int num = userService.updateByPrimaryKey(user); if(num==0){ return "error"; } return "success"; }
测试
删除
/** * 删除 */ @DeleteMapping("/user/{id}") public String deleteUser(@PathVariable Integer id){ int num = userService.deleteByPrimaryKey(id); if(num==0){ return "error"; } return "success"; }
测试:
相关文章推荐
- 使用spring boot 整合spring jpa做基于restful风格的增删改查(maven ,mysql)
- 快速搭建一个restful风格的springboot项目
- 【Spring Boot && Spring Cloud系列】构建Springboot项目 实现restful风格接口
- idea+spring boot+mybatis+restful风格的demo
- springboot—restful风格
- springBoot+springSecurity 动态管理Restful风格权限(三)
- SpringBoot实践之---集成Swagger2生成Restful风格的在线API
- springboot restful风格
- 整合springboot-mybatis提供RESTful风格SaaS服务
- 使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用
- 使用SpringBoot编写Restful风格接口
- spring boot+swagger 生成Restful风格API
- SpringBoot实战(一)之构建RestFul风格
- 使用 SpringBoot 写 RESTful风格 增删改查接口
- spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法
- Spring Boot开发问题(一.feignclient远程其他restful风格的项目时POST中)
- SpringBoot-创建RESTful风格的 http接口访问jpa 来操作数据库
- SpringBoot开发实践-restful风格
- Spring boot 整合SSM框架三层架构并前后台restful风格交互
- springBoot+springSecurity 动态管理Restful风格权限(三)