第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 Spring Cloud Function 將函數(shù)映射到符合 REST 的端點(diǎn)

如何使用 Spring Cloud Function 將函數(shù)映射到符合 REST 的端點(diǎn)

慕勒3428872 2023-06-08 14:43:04
我遇到了不尋常且有趣的技術(shù)以及使用Spring Cloud Function拆分業(yè)務(wù)和技術(shù)實(shí)現(xiàn)的方式,它使java.util.function類的實(shí)現(xiàn)充當(dāng)端點(diǎn)<dependency>? ? <groupId>org.springframework.cloud</groupId>? ? <artifactId>spring-cloud-starter-function-web</artifactId></dependency>簡(jiǎn)而言之,有一個(gè)簡(jiǎn)單的靜態(tài)List<Book>表示存儲(chǔ)庫(kù):private final static List<Book> books = Arrays.asList(? ? new Book(1, "One"),? ? new Book(2, "Two"),? ? new Book(3, "Three"));? ??以下@Bean根據(jù)方法名稱及其返回類型啟用指定的端點(diǎn):// GET localhost:8080/books -> returns all the books:@Beanpublic Supplier<List<Book>> books() {? ? return () -> books;}// GET localhost:8080/book/2 -> returns a particular book@Beanpublic Function<Integer, List<Book>> book() {? ? return id -> books.stream().filter(b -> b.getId() == id).collect(Collectors.toList());}// POST localhost:8080/newBook -> posts a new book and returns all of them// Consumer<Book> would supply the POST with no output@Beanpublic Function<Book, List<Book>> newBook() {? ? return book -> {? ? ? ? books.add(book);? ? ? ? return books;? ? };}問題:是否可以使用組合中的一個(gè)或多個(gè)類來實(shí)現(xiàn)完整的 REST 兼容解決方案java.util.function?我只能寫出以上那些。我對(duì)以下模式特別感興趣:GET? ? ? ?/booksGET? ? ? ?/books/1POST? ? ? /booksPUT/PATCH /books/1DELETE? ? /books/1GET? ? ? ?/books/1/chapters/2/paragraphs/3如何避免端點(diǎn)的方法名稱沖突,因?yàn)樗蟹椒ㄋ坪醵急仨氉裱諈?shù)簽名的規(guī)則,否則不可自動(dòng)裝配。我從https://www.baeldung.com/spring-cloud-function開始,它看起來更像是一個(gè)RPC 而不是 REST。有沒有辦法識(shí)別 URL 參數(shù)?GET? ? ? ?/books?sort=name
查看完整描述

1 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

這種方式在他們的官方文檔或博客文章中都沒有明確說明。我不能肯定地說它是為這種用例設(shè)計(jì)的。

無論如何,在文檔的一部分中。提到以下內(nèi)容:

函數(shù)也可以是 Flux 或 Flux,Spring Cloud Function 負(fù)責(zé)將數(shù)據(jù)與所需類型進(jìn)行相互轉(zhuǎn)換,只要它以純文本或(在 POJO 的情況下)JSON 形式出現(xiàn)。還支持從傳入事件復(fù)制消息標(biāo)頭的消息,具體取決于適配器。Web Adaptor 還支持從表單編碼數(shù)據(jù)到 Map 的轉(zhuǎn)換,如果您將此功能與 Spring Cloud Stream 一起使用,則消息有效負(fù)載的所有轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換功能也將適用。

消息可以接受輸入和輸出,并且它還(如文檔中所述)能夠?qū)?shù)據(jù)進(jìn)行編碼以映射到可以存儲(chǔ)查詢參數(shù)或標(biāo)頭參數(shù)的位置。


查看完整回答
反對(duì) 回復(fù) 2023-06-08
  • 1 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)