转载

使用 Spring Boot 2.0 + WebFlux 实现 RESTful API

概述

什么是 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

原文  https://segmentfault.com/a/1190000012896148
正文到此结束
Loading...