restful接口风格
程序员文章站
2024-02-16 10:42:10
...
restful是什么
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。
(我的理解就是一个相同的路径通过传输的方法不同表现出不同的形式)
一、我使用的接口名称
接口名称 | http方法 | 资源操作 |
---|---|---|
http://localhost:8899/restfulTest/restful/user | POST | ADD |
http://localhost:8899/restfulTest/restful/user/{id} | DELETE | DELETE |
http://localhost:8899/restfulTest/restful/user | PUT | UPDATE |
http://localhost:8899/restfulTest/restful/user/{id} | GET | SELECT |
二、使用
1.先上控制层的代码
@RequestMapping("restful/user")
@RestController
public class UserController {
@Resource
private UserService userService;
@RequestMapping(value = "{id}", method = RequestMethod.GET)
public List<User> queryUserById(@PathVariable("id") int id){
System.out.println("id="+id);
return userService.queryUserById(id);
}
@RequestMapping(method = RequestMethod.POST)
public String addUser(@RequestBody User user){
System.out.println("id="+user.getUserId());
System.out.println("name="+user.getUsername());
System.out.println("pass="+user.getPassword());
if(userService.addUser(user) > 0 ){
return "添加用户成功";
}
return "添加用户失败";
}
@RequestMapping(method = RequestMethod.PUT)
public String updateUser(@RequestBody User user){
System.out.println("id="+user.getUserId());
System.out.println("name="+user.getUsername());
System.out.println("pass="+user.getPassword());
if(userService.updateUser(user) > 0 ){
return "更新用户成功";
}
return "更新用户失败";
}
@RequestMapping(value = "{id}", method = RequestMethod.DELETE)
public String deleteUser(@PathVariable(value = "id") int id){
System.out.println("id="+id);
if(userService.deleteUser(id) > 0 ){
return "删除用户成功";
}
return "删除用户失败";
}
}
2.代码解释
2.1查询代码部门
查询的URL是http://localhost:8899/restfulTest/restful/user/{id},这里的{id}参数是通过@PathVariable注解获取的。
2.2 增加代码
因为增加参数是使用了@RequestBody注解,所以增加的时候在报文头里的Content-Type要使用application/json,也就是说如果使用postman发送的话,记得改成JSON格式。
2.3 更新代码
除了传输方法改为PUT,其他同2.2。
2.4 删除代码
除了传输方法改为DELETE,其他同2.1。