日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Spring WebFlux的使用指南

瀏覽:127日期:2023-07-15 17:07:01

Spring WebFlux是spring5的一部分,它為web應(yīng)用程序提供反應(yīng)式編程支持。

在本教程中,我們將使用RestController和WebClient創(chuàng)建一個(gè)小型響應(yīng)式REST應(yīng)用程序。

我們還將研究如何使用Spring安全保護(hù)我們的反應(yīng)端點(diǎn)。

Spring-WebFlux框架

Spring WebFlux在內(nèi)部使用Project Reactor及其發(fā)布者實(shí)現(xiàn)Flux和Mono。

新框架支持兩種編程模型:

基于注釋的反應(yīng)元件 功能路由和處理 依賴項(xiàng)

讓我們從spring boot starter webflux依賴項(xiàng)開始,它包含所有其他必需的依賴項(xiàng):

spring boot和spring boot starter,用于基本的spring boot應(yīng)用程序設(shè)置 spring-webflux框架 reactor-core我們需要的反應(yīng)流,也需要reactor-netty

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> <version>2.2.6.RELEASE</version></dependency>響應(yīng)式應(yīng)用

我們現(xiàn)在將使用Spring WebFlux構(gòu)建一個(gè)非常簡單的REST EmployeeManagement應(yīng)用程序:

我們將使用一個(gè)簡單的域模型-帶有id和name字段的Employee 我們將使用RestController構(gòu)建restapi,以將員工資源作為單個(gè)資源和集合發(fā)布 我們將使用WebClient構(gòu)建一個(gè)客戶端來檢索相同的資源 我們將使用WebFlux和Spring Security創(chuàng)建一個(gè)安全的被動(dòng)端點(diǎn) 響應(yīng)式RestController

springwebflux支持基于注釋的配置,方式與springwebmvc框架相同。

首先,在服務(wù)器上,我們創(chuàng)建一個(gè)帶注釋的控制器,它發(fā)布員工資源的反應(yīng)流。

讓我們創(chuàng)建帶注釋的EmployeeController:

@RestController@RequestMapping('/employees')public class EmployeeController { private final EmployeeRepository employeeRepository;// constructor...}

EmployeeRepository可以是任何支持非阻塞反應(yīng)流的數(shù)據(jù)存儲(chǔ)庫。

單一資源

讓我們?cè)诳刂破髦袆?chuàng)建一個(gè)端點(diǎn),用于發(fā)布單個(gè)員工資源:

@GetMapping('/{id}')private Mono<Employee> getEmployeeById(@PathVariable String id) { return employeeRepository.findEmployeeById(id);}

我們?cè)贛ono中包裝一個(gè)Employee資源,因?yàn)槲覀冏疃喾祷匾粋€(gè)Employee。

集合資源

我們還要添加一個(gè)端點(diǎn)來發(fā)布所有雇員的集合資源:

@GetMappingprivate Flux<Employee> getAllEmployees() { return employeeRepository.findAllEmployees();}

對(duì)于集合資源,我們使用類型為Employee的流量,因?yàn)樗?..n元素的發(fā)布者。

反應(yīng)式Web客戶端

Spring5中引入的WebClient是一個(gè)支持反應(yīng)流的非阻塞客戶端。

我們可以使用WebClient創(chuàng)建一個(gè)客戶端,從EmployeeController提供的端點(diǎn)檢索數(shù)據(jù)。

讓我們創(chuàng)建一個(gè)簡單的EmployeeWebClient:

public class EmployeeWebClient { WebClient client = WebClient.create('http://localhost:8080'); // ...}

在這里,我們使用工廠方法create創(chuàng)建了一個(gè)WebClient。它會(huì)指向localhost:8080,所以我們可以使用或相對(duì)的URL來調(diào)用這個(gè)客戶端實(shí)例。

檢索單個(gè)資源

要從endpoint/employee/{id}檢索Mono類型的單個(gè)資源,請(qǐng)執(zhí)行以下操作:

Mono<Employee> employeeMono = client.get() .uri('/employees/{id}', '1') .retrieve() .bodyToMono(Employee.class);employeeMono.subscribe(System.out::println);檢索集合資源

類似地,要從endpoint/employees檢索Flux類型的集合資源,請(qǐng)執(zhí)行以下操作:

Flux<Employee> employeeFlux = client.get() .uri('/employees') .retrieve() .bodyToFlux(Employee.class);employeeFlux.subscribe(System.out::println);Spring WebFlux安全性

我們可以使用Spring Security來保護(hù)我們的反應(yīng)端點(diǎn)。

假設(shè)我們?cè)贓mployeeController中有一個(gè)新的端點(diǎn)。此端點(diǎn)更新員工詳細(xì)信息并發(fā)回更新的員工。

由于這允許用戶更改現(xiàn)有員工,因此我們希望僅將此端點(diǎn)限制為管理員角色用戶。

讓我們?yōu)镋mployeeController添加一個(gè)新方法:

@PostMapping('/update')private Mono<Employee> updateEmployee(@RequestBody Employee employee) { return employeeRepository.updateEmployee(employee);}

現(xiàn)在,為了限制對(duì)該方法的訪問,讓我們創(chuàng)建SecurityConfig并定義一些基于路徑的規(guī)則以僅允許管理員用戶:

@EnableWebFluxSecuritypublic class EmployeeWebSecurityConfig { // ... @Bean public SecurityWebFilterChain springSecurityFilterChain( ServerHttpSecurity http) {http.csrf().disable() .authorizeExchange() .pathMatchers(HttpMethod.POST, '/employees/update').hasRole('ADMIN') .pathMatchers('/**').permitAll() .and() .httpBasic();return http.build(); }}

此配置將限制對(duì)/employees/update的訪問。因此,只有具有ADMIN角色的用戶才能訪問此端點(diǎn)并更新現(xiàn)有員工。

最后,注解@EnableWebFluxSecurity添加了一些默認(rèn)配置的Spring-Security-WebFlux支持。

結(jié)論

在本文中,我們探討了如何創(chuàng)建和使用springwebflux框架支持的反應(yīng)式web組件。例如,我們構(gòu)建了一個(gè)小型的REST應(yīng)用程序。

除了Reactive RestController和WebClient之外,WebFlux框架還支持Reactive WebSocket和對(duì)應(yīng)的WebSocketClient,以進(jìn)行套接字樣式的Reactive流。

最后,在Github上提供了本文中使用的完整源代碼:https://github.com/eugenp/tutorials/tree/master/spring-5-reactive-security

以上就是Spring WebFlux的使用指南的詳細(xì)內(nèi)容,更多關(guān)于Spring WebFlux的使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久都是精品| 久久久久99| 久久三级福利| 久久狠狠婷婷| 久久免费黄色| 亚洲激情中文| 亚洲日韩中文字幕一区| 日韩**一区毛片| 日韩精品免费一区二区夜夜嗨 | 青草av.久久免费一区| 99亚洲精品| 国产精品视频一区二区三区四蜜臂 | 国产成人精品一区二区免费看京 | 日本午夜精品一区二区三区电影| 日韩免费精品| 久久99影视| 一本大道色婷婷在线| 国产+成+人+亚洲欧洲在线| 免费观看亚洲| 午夜久久黄色| 欧美三级第一页| 神马久久午夜| 久久成人国产| 国产一区调教| 国产美女精品| 麻豆久久一区| 99国产精品视频免费观看一公开| 日韩国产在线不卡视频| 欧美aa在线视频| 亚洲欧美日韩国产一区二区| 国产日产精品_国产精品毛片| 精品免费av在线| 视频一区中文字幕| 精品资源在线| 偷拍亚洲精品| 久久精品高清| 国产精品v亚洲精品v日韩精品| 日韩天堂在线| 国产午夜久久av| 亚洲一区日韩在线| 日韩精品1区| 国产欧美日韩亚洲一区二区三区| 日韩大片在线| 国产欧美一区二区精品久久久| 欧美 日韩 国产一区二区在线视频| 国产亚洲高清一区| 日韩中文字幕麻豆| 国内不卡的一区二区三区中文字幕| 在线视频亚洲欧美中文| 亚洲日本网址| 高清av不卡| 国产一区一一区高清不卡| 亚州欧美在线| 一区二区精品| 香蕉久久久久久久av网站| 水蜜桃久久夜色精品一区| 91精品丝袜国产高跟在线| 丝袜美腿一区二区三区| 婷婷激情图片久久| 欧美一区二区三区高清视频| 日韩国产在线| 丝袜亚洲精品中文字幕一区| 日韩精品永久网址| 日本一区二区高清不卡| 久久成人福利| 国产一区三区在线播放| 久久久91麻豆精品国产一区| 国产欧美一区二区三区国产幕精品 | 给我免费播放日韩视频| 久久精品国产网站| 欧美精品1区| 国产一区二区三区不卡av| 日韩精品免费观看视频| 日韩精品免费观看视频| 国产精品久久久久9999高清| 欧美视频精品全部免费观看| 国产激情一区| 亚洲精品88| 午夜在线播放视频欧美| 日韩av影院| 樱桃视频成人在线观看| 在线一区欧美| 性欧美长视频| 亚洲2区在线| 精品视频在线你懂得| 日韩免费视频| 99在线精品免费视频九九视 | 男女激情视频一区| 国产精品国码视频| 久久九九精品| 日韩欧美中文字幕在线视频| 9999国产精品| 免费观看久久久4p| 成人国产精品一区二区免费麻豆| 色婷婷精品视频| 日本免费在线视频不卡一不卡二| 成人羞羞在线观看网站| 午夜精品一区二区三区国产| 日韩精品视频在线看| 欧美aa在线观看| 亚洲精品动态| 免费观看不卡av| 美腿丝袜亚洲三区| 蜜臀久久久99精品久久久久久| 久久久久久亚洲精品美女| 噜噜噜久久亚洲精品国产品小说| 另类欧美日韩国产在线| 免费的成人av| 99久久亚洲精品| 日韩高清电影一区| 免费不卡中文字幕在线| 欧美国产极品| 欧美日韩国产一区二区在线观看| 日韩久久一区二区三区| 国产日韩中文在线中文字幕 | 欧美91在线| 欧美日韩亚洲一区二区三区在线| 99视频精品全国免费| 久久uomeier| 精品国产一区二区三区性色av| 一区二区三区网站| 欧美日韩视频| 99久久夜色精品国产亚洲狼 | 日本欧美在线| 综合国产视频| 玖玖玖国产精品| 欧美日韩国产在线观看网站 | 日韩a一区二区| 久久不见久久见中文字幕免费| 亚洲精品在线二区| 久久亚洲欧美| 久久av在线| 日韩高清三区| 国产日韩三级| 欧美精品二区| 国产成人77亚洲精品www| 国产aa精品| 国产99精品一区| 国产精品美女| 日本精品国产| 国精品产品一区| 性感美女一区二区在线观看| 久久久久国产| 好吊日精品视频| 亚洲精品精选| 精品女同一区二区三区在线观看| 国产精品国产三级国产在线观看| 中文字幕高清在线播放| 91精品久久久久久久久久不卡| 99国产精品久久久久久久| 日韩精品视频网站| av资源中文在线天堂| 亚洲男女av一区二区| 久久亚洲美女| 国产一区丝袜| 亚洲免费毛片| 亚洲精品成人图区| 日韩高清一区在线 | 性色一区二区| 精品一区二区三区视频在线播放 | 亚洲综合国产| 亚洲精品九九| 亚洲精选91| 免费视频国产一区| 亚洲免费一区三区| 你懂的国产精品| 在线亚洲国产精品网站| 国产精品久久久久久久久久白浆 | 精品视频91| 伊人国产精品| 欧美日韩亚洲在线观看| 免播放器亚洲| 91欧美日韩在线| 免费福利视频一区二区三区| 深夜日韩欧美| 亚洲欧美高清| 国产99久久| 国产欧洲在线| 国产精品免费大片| 在线精品一区| 夜夜嗨一区二区三区| 日韩在线欧美| 精品视频97| 麻豆高清免费国产一区| 日本aⅴ精品一区二区三区 | 亚洲美女久久精品| 国产亚洲精aa在线看| 久久aⅴ国产紧身牛仔裤| 婷婷激情图片久久| 不卡一区综合视频| 欧美日中文字幕| av中文资源在线资源免费观看| 国产麻豆一区二区三区 | 性色一区二区| 欧美日韩视频| 爽好多水快深点欧美视频| 99国产精品视频免费观看一公开 | 国产精品久久| 国产精品久久777777毛茸茸| 国产欧美二区|