使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能

作者:mrr 时间:2023-12-22 19:51:03 

概述

什么是 Spring WebFlux, 它是一种异步的, 非阻塞的, 支持背压(Back pressure)机制的Web 开发框架. 要深入了解 Spring WebFlux, 首先要了知道 Reactive Stream . 另一种编程姿势, 和命令式编程相对的姿势.

WebFlux 支持两种编程风(姿)格(势)

  • 使用 @Controller 这种基于注解的姿势, 与Sring MVC的姿势相同

  • 基于Java 8 Lambda的函数式编程风格

注意: 上面只是两种编程的姿势, 和"普通话和重庆话都是中国话"是一个道理. 我们公司也有外地的, 对他我说普通话, 对本地同事说重庆话. 这叫多态

创建项目

通过 http://start.spring.io 创建项目骨架.

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

如果是手工配置, 需要添加Spring的里程碑(Milestone)仓库:


<repositories>
 <repository>
   <id>spring-snapshots</id>
   <name>Spring Snapshots</name>
   <url>https://repo.spring.io/snapshot</url>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </repository>
 <repository>
   <id>spring-milestones</id>
   <name>Spring Milestones</name>
   <url>https://repo.spring.io/milestone</url>
   <snapshots>
     <enabled>false</enabled>
   </snapshots>
 </repository>
</repositories>

<pluginRepositories>
 <pluginRepository>
   <id>spring-snapshots</id>
   <name>Spring Snapshots</name>
   <url>https://repo.spring.io/snapshot</url>
   <snapshots>
     <enabled>true</enabled>
   </snapshots>
 </pluginRepository>
 <pluginRepository>
   <id>spring-milestones</id>
   <name>Spring Milestones</name>
   <url>https://repo.spring.io/milestone</url>
   <snapshots>
     <enabled>false</enabled>
   </snapshots>
 </pluginRepository>
</pluginRepositories>

测试

列举所有用户 

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

创建用户 

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

获取单个用户

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

修改

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

删除 

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能 

源码

demo-spring-boot-webflux-annotaion

总结

以上所述是小编给大家介绍的使用 Spring Boot 2.0 + WebFlux 实现 RESTful API功能网站的支持!

来源:https://segmentfault.com/a/1190000012896148

标签:spring,boot,webflux,restful,api
0
投稿

猜你喜欢

  • Java并发编程之闭锁与栅栏的实现

    2022-01-09 15:00:12
  • Android实现老虎机小游戏代码示例

    2022-08-04 04:15:11
  • Android ListView与RecycleView的对比使用解析

    2022-05-05 16:56:02
  • Java利用cors实现跨域请求实例

    2023-02-24 14:57:35
  • 详解基于java的Socket聊天程序——客户端(附demo)

    2021-06-28 04:19:54
  • Flutter开发技巧RadialGradient中radius计算详解

    2023-10-05 17:42:22
  • Java 使用Socket正确读取数据姿势

    2023-09-16 12:13:43
  • Android Service启动流程刨析

    2023-07-31 11:28:58
  • Java并发编程ThreadLocalRandom类详解

    2021-07-30 17:56:03
  • spring mvc 组合mybatis框架实例详解

    2023-11-28 04:56:04
  • 关于maven全局配置文件settings.xml解析

    2023-01-08 09:04:04
  • Java实现短信验证码的示例代码

    2023-11-09 03:22:47
  • Java调用Shell命令的方法

    2022-01-06 20:01:34
  • Android的RV列表刷新详解Payload与Diff方式异同

    2023-07-05 13:17:29
  • SpringCloud灾难性雪崩效应处理方法之降级实现流程详解

    2022-03-24 15:31:36
  • Android仿百度地图小度语音助手的贝塞尔曲线动画

    2022-03-21 00:09:26
  • Spring4整合Hibernate5详细步骤

    2022-03-15 16:53:07
  • C#实现过滤html标签并保留a标签的方法

    2023-02-06 17:30:24
  • Struts2拦截器登录验证实例

    2021-10-26 06:47:04
  • Java面向对象的封装你了解吗

    2023-11-06 16:32:38
  • asp之家 软件编程 m.aspxhome.com