【快学springboot】2.Restful简介,SpringBoot构建Restful接口

Restful简介

Restful一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件能够更简洁,更有层次,更易于实现缓存等机制。spring

随着Restful风格的流行,如今更多的人叫HTTP接口为Restful接口。因此仍是颇有必要了解下Restful的一些基础约定的。json

Rest架构的主要原则

网络上的全部事物都被抽象为资源,使用http方法表示具体操做,以下:api

【快学springboot】2.Restful简介,SpringBoot构建Restful接口

幂等的意思是说,屡次相同的请求,数据是保持一致的。缓存

restful实例参考

  • 非Restful以前的url风格

http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据springboot

http://127.0.0.1/user/save POST 新增用户bash

http://127.0.0.1/user/update POST 修改用户信息服务器

http://127.0.0.1/user/delete GET/POST 删除用户信息restful

  • RESTful风格的url

http://127.0.0.1/user/1 GET 根据用户id查询用户数据网络

http://127.0.0.1/user POST 新增用户架构

http://127.0.0.1/user PUT 修改用户信息

http://127.0.0.1/user DELETE 删除用户信息

SpringBoot构建Restful接口

基于上一节的项目。这里先不考虑参数接受问题,将会在下一讲详细讲解

  1. 新建一个UserController

而且在类上使用@RestController注解。

@RestController
@RequestMapping(value = "/api/v1/users")
public class UserController {
 

}
复制代码

这就快速建立出了一个Controller,与SpringMVC不一样的@Controller不一样的是,这里使用了RestController注解,其效果等于Controller注解+ResponseBody注解的效果,即返回json格式的数据。

RequestMapping注解表示这个类的前置url。

  • PostMapping对应增
@PostMapping
public Object addUser() {
 // 新增一个用户
 return "OK";
}
复制代码

这里PostMapping不写url,表示这个接口地址为这个Controller的前置地址

  • GetMapping对应查
@GetMapping(value = "/{userId}")
public Object getUser(@PathVariable(value = "userId") Integer userId) {
 // 根据ID查找一个用户
 return "User";
}
复制代码
  • DeleteMapping对应删除
@DeleteMapping(value = "/{userId}")
public Object deleteUser(@PathVariable(value = "userId") Integer userId) {
 // 根据id删除一个用户
 return "OK";
}
复制代码
  • PutMapping对应更新
@PutMapping
public Object updateUser() {
 // 跟新
 return "OK";
}
复制代码

这里提一下PatchMapping,Patch请求方法也是更新操做,若是要细致的与PutMapping区分,则是PatchMapping对应部分更新,PutMapping对应总体覆盖的更新。

相关文章
相关标签/搜索