RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。
RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,
动作类型为新增、变更、删除所调用资源。—百度百科
以前使用最多的请求方式还是post,post一时爽一直post一直爽,直到我接触了restful风格API,嗯真香!
我就简单展示一下我怎么使用的,太深刻的理论原理咱也不懂咱也不敢讲!
请求路径 请求方法 作用
/user/1HTTP GET 查询id为1的user
/user/1HTTP DELETE 删除id为1的user
/user/1HTTP PUT 编辑id为1的user
/userHTTP POST 新增user
新增和修改一般是使用@RequestBody获取整个body
@PostMapping(value = "/user")
public Message insert(@RequestBody User user) {
try {
userService.insert(user);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
} @PutMapping(value = "/user")
public Message update(@RequestBody User user) {
try {
userService.update(user);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}
当需要从请求路径中获取参数的时候就只能使用@PathVariable注解,删除的时候一般只需要传id,通过url带参就可以了
@DeleteMapping(value = "/user/{id}")
public Message logicalDeletionById(@PathVariable(name = "id") String id) {
try {
userService.logicalDeletionById(id);
return Message.ok();
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}
如果需要多条件查询就用对象传查询条件,下次讲SpringBoot+Jpa多条件查询+分页+排序
@GetMapping(value = "/user")
public Message findAll() {
try {
return new MessageBox<>(userService.findAll());
} catch (Exception e) {
logger.error(e.getMessage(), e);
return Message.fail();
}
}