使用 Spring Boot 2.0 + WebFlux 實現 RESTful API

概述

什麼是 Spring WebFlux, 它是一種異步的, 非阻塞的, 支持背壓(Back pressure)機制的Web 開發框架. 要深刻了解 Spring WebFlux, 首先要了知道 Reactive Stream, 和命令式編程相較而言, 只是另外一種編程姿式.git

滾牀單的姿式有不少種, 目的都同樣.

WebFlux 支持兩種編程風(姿)格(勢)

  • 使用@Controller這種基於註解的姿式, 與Sring MVC的姿式相同
  • 基於Java 8 Lambda的函數式編程風格
注意: 上面只是兩種編程的姿式, 和"普通話和重慶話都是中國話"是一個道理. 咱們公司也有外地的, 對他我說普通話, 對本地同事說重慶話. 這叫多態

建立項目

本文的源碼在最下面

經過 http://start.spring.io 建立項目骨架.github

clipboard.png

若是是手工配置, 須要添加Spring的里程碑(Milestone)倉庫:web

<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

clipboard.png

建立用戶編程

clipboard.png

獲取單個用戶框架

clipboard.png

修改異步

clipboard.png

刪除函數式編程

clipboard.png

源碼

註解姿式
函數姿式函數

相關文章
相關標籤/搜索