Firefly 4.9.1 正式版发布,新增项目脚手架生成器

来源: 投稿
作者: Alvin0001
2018-10-16

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 目录即可运行改项目。详细命令说明请参考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);

更新日志:

  1. 新增 OAuth2 APIs

  2. 新增 CLI 代码生成器

  3. 新增 AsyncWebJarHandler

  4. 新增 JsonProperty Annotation 用来映射 json 字段和 javabean 中的字段

  5. HTTP, WebSocket, and DB Kotlin asynchronous APIs 新增 timeout 参数

  6. 新增 CORSHandler

  7. RoutingContext 新增 createSession 方法

  8. RoutingContext 新增 asyncNext suspend 方法

  9. 新增图像处理组件

  10. 修正网络框架输出很大的数据时数据错乱问题

  11. 修正 JsonStringReader.readLong() 读取空白字符串异常问题

展开阅读全文
3 收藏
分享
加载中
更多评论
0 评论
3 收藏
分享
返回顶部
顶部