RESTFUL风格的URL请求及参数接收
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。---百度百科
以前使用最多的请求方式还是post,post一时爽一直post一直爽,直到我接触了restful风格API,嗯真香!我就简单展示一下我怎么使用的,太深刻的理论原理咱也不懂咱也不敢讲!
REST,即Representational State Transfer的缩写(表述性状态传递)。 表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。需要注意的是,REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。
URI,统一资源标识符(Uniform Resource Identifier,URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。
URL,统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。
请求路径 请求方法 作用
/user/1 HTTP GET 查询id为1的user
/user/1 HTTP DELETE 删除id为1的user
/user/1 HTTP PUT 编辑id为1的user
/user HTTP 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(); } }
如果有什么疑问欢迎留言,当然我也不一定懂!一起学习一起进步,群876083754