http扩展接口

# 注解使用

使用@Router(value = "/smqtt/publish", type = HttpType.POST) 定义URL跟请求方式

# 自定义实现接口

  • 实现io.github.quickmsg.common.http.HttpActor
  • 实现io.github.quickmsg.core.http.AbstractHttpActor(内置操作发送mqtt消息接口)

# 下面给出实现demo:

定义一个url为/smqtt/demo的post请求,并且设置Response Header,同时允许跨域。

@Router(value = "/smqtt/demo", type = HttpType.POST)
@Slf4j
@Header(key = "Content-Type", value = "application/json")
@AllowCors
public class DemoActor extends AbstractHttpActor {

    @Override
    public Publisher<Void> doRequest(HttpServerRequest request, HttpServerResponse response, Configuration configuration) {
        return request
                .receive()
                .asString()
                .map(this.toJson(HttpPublishMessage.class))
                .doOnNext(message -> {
                    //处理request
                }).then(response.sendString(Mono.just("success")).then());
    }

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# SPI注入

具体参考java SPI注入

resources/META-INF/services 目录下新建 名为io.github.quickmsg.common.http.HttpActor文件, 将自定义实现类全限定名写入文件中即可完成注入。

Last Updated: 12/5/2021, 8:33:06 AM