SpringBoot之RESTful风格
SpringBoot之RESTful风格
1、RESTful介绍
RESTful是一种软件架构风格,一种时尚!
RESTful架构风格规定,数据的元操作,即CRUD(create, read, update和delete,即数据的增删查改)操作,分别对应于HTTP方法:
GET用来获取资源(查询),
POST用来新建资源(添加),
PUT用来更新资源(修改),
DELETE用来删除资源(删除),
这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作
2、RESTful接口设计
在此我们以用户数据的基本操作来进行接口设计
|
HTTP协议请求方法 |
SpringBoot注解 |
URL |
功能说明 |
|
POST |
@PostMapping |
/users |
创建一个用户 |
|
GET |
@GetMapping |
/users |
查询用户列表 |
|
GET |
@GetMapping |
/users/id |
根据id查询一个用户 |
|
PUT |
@PutMapping |
/users/id |
根据id更新一个用户 |
|
DELETE |
@DeleteMapping |
/users/id |
根据id删除一个用户 |
3、用户实体bean创建
|
package com.offcn.po; import lombok.AllArgsConstructor; //以下注解在前面我的博客已经做出了详细说明 |
4、创建Controller UserController
|
package com.offcn.controllerold; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.offcn.po.User; @RestController @RequestMapping("/users-test") public class UserController { //Collections.synchronizedList线程安全 private List<User> listUser=Collections.synchronizedList(new ArrayList<User>()); /*** * 获取全部用户信息 * @return */ @GetMapping("/") public List<User> getUserList(){ return listUser; } /*** * 新增用户 * @param user * @return */ @PostMapping("/") public String createUser(User user) { listUser.add(user); return "success"; } /*** * 获取指定id用户信息 * @param id * @return */ @GetMapping("/{id}") public User getUser(@PathVariable("id")Long id) { for (User user : listUser) { if(user.getId()==id) { return user; } } return null; } /** * 更新指定id用户信息 * @param id * @param user * @return */ @PutMapping("/{id}") public String updateUser(@PathVariable("id") Long id,User user) { for (User user2 : listUser) { if(user2.getId()==id) { user2.setName(user.getName()); user2.setAge(user.getAge()); } } return "success"; } /*** * 删除指定id用户 * @param id * @return */ @DeleteMapping("/{id}") public String deleteUser(@PathVariable("id") Long id) { listUser.remove(getUser(id)); return "success"; } } |
5、Postman测试RESTful接口
(1)、新增用户
post http://localhost:8080/users/

(2)、获取全部用户信息
get http://localhost:8080/users/

(3)、获取指定id用户信息
get http://localhost:8080/users/id

(4)、更新指定id用户信息
put http://localhost:8080/users/id

(5)、删除指定id用户信息
delete http://localhost:8080/users/id

SpringBoot之RESTful风格的更多相关文章
- java框架之SpringBoot(6)-Restful风格的CRUD示例
准备 环境 IDE:Idea SpringBoot版本:1.5.19 UI:BootStrap 4 模板引擎:thymeleaf 3 效果:Restful 风格 CRUD 功能的 Demo 依赖 &l ...
- 使用SpringBoot编写Restful风格接口
一.简介 Restful是一种对url进行规范的编码风格,通常一个网址对应一个资源,访问形式类似http://xxx.com/xx/{id}/{id}. 举个栗子,当我们在某购物网站上买手机时会 ...
- Eclipse下利用Maven创建SpringBoot的Restful风格程序
参考文章:https://spring.io/guides/gs/rest-service/ 中文翻译:https://blog.dubby.cn/detail.html?id=9040 1.目标是什 ...
- SpringBoot之RESTFul风格的接口调用(jQuery-Ajax)
一.Get $.ajax({ type: "get", url: "url地址", async: true, dataType:"json" ...
- springboot的restful风格获取请求中携带的参数
http://localhost:8080/emp/1 有以上请求,我们controller要怎么获取请求中传递的参数1呢? 通过PathVariable注解,如下: @DeleteMapping(& ...
- SpringBoot实战(一)之构建RestFul风格
RestFul风格是一种非常流行的架构风格,相关实战可以参考我的这篇博客:SSM框架之RestFul示例 论文可参考:https://www.ics.uci.edu/~fielding/pubs/di ...
- SpringBoot整合Redis使用Restful风格实现CRUD功能
前言 本篇文章主要介绍的是SpringBoot整合Redis,使用Restful风格实现的CRUD功能. Redis 介绍 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-valu ...
- SpringBoot RestFul风格API接口开发
本文介绍在使用springBoot如何进行Restful Api接口的开发及相关注解已经参数传递如何处理. 一.概念: REST全称是Representational State Transfer,中 ...
- 使用RESTful风格整合springboot+mybatis
说明: 本文是springboot和mybatis的整合,Controller层使用的是RESTful风格,数据连接池使用的是c3p0,通过postman进行测试 项目结构如下: 1.引入pom.xm ...
随机推荐
- Python常用代码,置顶备用!
1.jupyter notebook 设置全部行输出: # 设置全部行输出 from IPython.core.interactiveshell import InteractiveShellInte ...
- uni-app学习心得和填坑,关于uni-app 打包h5 页面的坑
第一次使用博客园写博客 1.我写博客的原因,梳理知识,整理思路,好记性不如烂笔头做个记录吧!记录生活! 1.了解 大概在我使用hbuilder的时候,在官网浏览下载的hbuilder时候无意中发现了u ...
- https抓包 Fiddler
打开Fiddler https抓包 安装证书 查看证书 打开Windows程序certmgr.msc 查找Fiddler证书 查看Fiddler证书是否安装成功 测试连接 使用Google Chrom ...
- 防止ARP欺骗
前言: 曾经因为宿舍里面的同学经常熬夜打游戏,好言相劝不管用,无奈之下使用arp欺骗他们的主机,使之晚上11点之后游戏延迟,掉线,最后,一到11点同学们就都上床睡觉了. 防止arp欺骗的三种思路: 在 ...
- 201871020225-牟星源《面向对象程序设计(java)》第八周学习总结
201871020225-牟星源<面向对象程序设计(java)>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...
- OpenCV随机颜色,用于画图调试
static Scalar randomColor(int64 seed) { RNG rng(seed); int icolor = (unsigned)rng; return Scalar(ico ...
- Maven打包插件Assembly(七)
1. 在 dubbo 的 provider 项目(实现类项目dubbo-service-impl)中 pom.xml 配置 assembly插件信息 <!-- 指定项目的打包插件信息 --> ...
- 【oracle】表说明 COMMENT ON的用法
- MyEclipse10破解 运行run.bat闪退 亲自试验
找到MyEclipse安装的自带的jdk(方法是打开MyEclipse,依次window->Preferences->Java->Installed JRES找到默认路径,我的是:自 ...
- 洛谷p2613【模板】有理数取余
题目 \(c\)等于一个分数,求他的余数,分数是不能直接模的,除以一个数等于乘上这个数的逆元. 所以此题就是求一个逆元,费马小定理求逆元是很方便的,一个快速幂就解决了. 还要注意因为\(a,b\)的值 ...