【快学springboot】2.Restful简介,SpringBoot构建Restful接口
Restful简介
Restful一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
随着Restful风格的流行,现在更多的人叫HTTP接口为Restful接口。所以还是很有必要了解下Restful的一些基础约定的。
Rest架构的主要原则
网络上的所有事物都被抽象为资源,使用http方法表示具体操作,如下:
幂等的意思是说,多次相同的请求,数据是保持一致的。
restful实例参考
- 非Restful之前的url风格
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete GET/POST 删除用户信息
- 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接口
基于上一节的项目。这里先不考虑参数接受问题,将会在下一讲详细讲解
- 新建一个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对应整体覆盖的更新。
【快学springboot】2.Restful简介,SpringBoot构建Restful接口的更多相关文章
- 「快学Docker」Docker简介、安装和Hello World实现
前言 Docker已经成为了一门炙手可热的技术,每个程序员(特别是后端程序员)都应该学习下Docker这门技术. Docker是什么 来自官网的定义:Docker是以Docker容器为资源分割和调度的 ...
- [SpringBoot guides系列翻译]SpringBoot构建RESTful程序入门
原文地址 构建一个RESTful的WebService 这个指南将带你用Spring创建一个RESTful的helloworld程序. 你将完成 在下面地址上创建一个接收http get请求的服务 h ...
- Springboot & Mybatis 构建restful 服务五
Springboot & Mybatis 构建restful 服务五 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务四 2 restful ...
- Springboot & Mybatis 构建restful 服务四
Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...
- Springboot & Mybatis 构建restful 服务三
Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...
- Springboot & Mybatis 构建restful 服务二
Springboot & Mybatis 构建restful 服务二 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务一 2 restful ...
- Springboot & Mybatis 构建restful 服务
Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...
- SpringBoot 构建RestFul API 含单元测试
相关博文: 从消费者角度评估RestFul的意义 SpringBoot 构建RestFul API 含单元测试 首先,回顾并详细说明一下在快速入门中使用的 @Controller . @RestC ...
- springboot集成swagger2构建RESTful API文档
在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...
随机推荐
- ES-moreLikeThisQueryBuilder-文章推荐
//获取推荐文章 public Object getRecommendList2(String name) { NativeSearchQueryBuilder queryBuilder = new ...
- Linux - 软硬链接,hard link and symbolic link
- python 环境迁移之requirements.txt (window环境)
一.背景 1.有时候你本地用python编写代码,然后本地也安装了很多的库,那么你要迁移到服务器上,那么该怎么快速弄环境库呢? #第二,三步就可以解决. 2.有时候你本地用pyth ...
- pywinauto教程
转:pywinauto教程https://blog.csdn.net/weixin_40161673/article/details/83246861 ** 一.环境安装**1.命令行安装方法pip ...
- 原生js的表单验证
最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><htm ...
- 杭电2070 Fibbonacci Number
Fibbonacci Number Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- rtt学习之线程间同步与通信
一 线程间的同步与互斥:信号量.互斥量.实践集 线程互斥是指对于临界区资源访问的排它性,如多个线程对共享内存资源的访问,生产消费型对产品的操作.临界区操作操作方法有: rt_hw_interrupt_ ...
- ApacheBench(ab)压力测试工具
服务器负载太大而影响程序效率也是很常见的,Apache服务器自带有一个叫AB(ApacheBench)的工具,可以对服务器进行负载测试 基本用法: ab -n 全部请求数 -c 并发数测试url 注 ...
- Mac 下 vim 常用命令
vim 三种模式:命令模式.插入模式.底线命令模式. 切换模式: 命令模式: 启动 vim 进入命令模式: i 切换到插入模式,以输入字符. x 删除当前光标所在处的字符. : 切换到底线命令 ...
- Tomcat访问控制及站点部署(以WAR包形式上传)!(重点)
访问控制 首先安装好jdk以及apache-tomcat并能访问tomcat网页 点击server status了解服务状态会报403的错误 第一步:修改user.xml配置文件 [root@loca ...