Windward发布

654次阅读
没有评论

共计 1559 个字符,预计需要花费 4 分钟才能阅读完成。

1.前言

一直以来Java Web开发给部分人以过重的感觉,但是今天,轻量级的Windward来了,你顶不顶的住!

2.快速上手

2.1添加依赖

假如使用maven构建

<dependency>
    <groupId>org.flmelody</groupId>
    <artifactId>windward</artifactId>
    <version>1.0-RELEASE</version>
</dependency>

如果使用gradle则

implementation 'org.flmelody:windward:1.0-RELEASE'

2.2函数定义

public class Function {
// 函数入参必须WindwardContext
public static void function1(WindwardContext windwardContext) {
windwardContext.string("hello world! function1!");  // 直接返回字符串
}

public void function2(WindwardContext windwardContext) {
windwardContext.string("hello world! function2!");
}

public void function3(WindwardContext windwardContext) {
windwardContext.json(new User(1, esotericman)); // 返回json
}
}

public class User {
private final Integer userId;
private final String userName;

public Integer getUserId() {
return userId;
}

public String getUserName() {
return userName;
}

public User(Integer userId, String userName) {
this.userId = userId;
this.userName = userName;
}
}

2.3启动服务

public static void main(String[] args) throws Exception {
    Windward windward = Windward.setup(); // windward引擎
    // 直接注册静态方法
    windward.get("/function1", Function::function1); 
    windward.put("/function1", Function::function1);
    windward.post("/function1", Function::function1);
    windward.delete("/function1", Function::function1);
    // 注册非静态方法
    windward.get("/function2", new Function()::function2);
    // 注册路由组 同组默认同一个根路径v1
    windward
        .group("/v1")
        .get("/function1", Function::function1)
        .post("/function2", () -> "hi!")
        .delete("/function3", new Function()::function3);
    // 启动服务器 默认8080端口
    windward.run();
}

2.4验证服务

curl http://127.0.0.1:8080/function1

3.结语

本文粗略的介绍了轻量级Java web服务Windward,Windward面向函数式接口,没有了以往Spring开发的各类注解配置,虽然更轻更灵活,但是也牺牲了部分现有的生态优势,各有利弊。

正文完
 
mysteriousman
版权声明:本站原创文章,由 mysteriousman 2023-07-04发表,共计1559字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)