Firefly 4.9.1 正式版釋出,新增專案腳手架生成器
Firefly 4.9.1 正式版新增了 OAuth2 APIs、專案腳手架生成器、CORSHandler、AsyncWebJarHandler,並修復了一些bug。
專案腳手架生成器
專案腳手架生成器可以通過命令一鍵生成 Firefly Kotlin web 專案。例如:
fireflyCli -g com.test.abc -a abc-haha -p com.test.abc -d www.abc.com -j www.abc.com
這個命令在當前目錄建立了一個 Firefly Kotlin web 專案。然後在 IDE 中匯入 abc-haha 目錄即可執行改專案。詳細命令說明請參考ofollow,noindex" target="_blank">CLI文件 。
OAuth2 APIs
這個版本新增了 OAuths2 協議支援,支援OAuth2四種授權模式(Authorization Code Grant, Implicit Grant, Resource Owner Password Credentials Grant, 和 Client Credentials Grant),詳細說明參考OAuth2文件
CORS handler
新增的 CORSHandler 方便Firefly web專案提供跨域訪問設定。例如:
CORSConfiguration config = new CORSConfiguration(); config.setAllowOrigins(new HashSet<>(Arrays.asList("http://foo.com", "http://bar.com"))); config.setExposeHeaders(Arrays.asList("a1", "a2")); config.setAllowHeaders(new HashSet<>(Arrays.asList("a1", "a2", "a3", "a4"))); CORSHandler corsHandler = new CORSHandler(); corsHandler.setConfiguration(config); HTTP2ServerBuilder s = $.httpServer(); s.router().path("/cors/*").handler(corsHandler) .router().path("/cors/foo").handler(ctx -> ctx.end("foo")) .router().path("/cors/bar").handler(ctx -> { JsonObject jsonObject = ctx.getJsonObjectBody(); Map<String, Object> map = new HashMap<>(jsonObject); map.put("bar", "x1"); ctx.writeJson(map).end(); }) .listen(host, port);
更新日誌:
-
新增 OAuth2 APIs
-
新增 CLI 程式碼生成器
-
新增 AsyncWebJarHandler
-
新增 JsonProperty Annotation 用來對映 json 欄位和 javabean 中的欄位
-
HTTP, Socket/">WebSocket, and DB Kotlin asynchronous APIs 新增 timeout 引數
-
新增 CORSHandler
-
RoutingContext 新增 createSession 方法
-
RoutingContext 新增 asyncNext suspend 方法
-
新增影象處理元件
-
修正網路框架輸出很大的資料時資料錯亂問題
-
修正 JsonStringReader.readLong() 讀取空白字串異常問題