我的 Rest API 层的 Vertx 模型绑定

Vertx model binding for my Rest API layer

我正在使用 Vertx 3,我正在尝试找到一个很好的解耦模块,它知道转 query-string、headers 以及 content-type 和 body变成一颗豆子?

我知道 spring 和其他各种框架也这样做,但我不想引入新框架我只想要一个超快速的模型绑定器,它知道自动绑定到某个方法或至少自动绑定某个 class 这样我就可以调用我的 rest 方法,该方法当前接受一个参数,即模型。

public ResponseBase query(QueryRequest model){ ... }

我不介意给参数等添加注解

谢谢!

目前我的团队使用 vertx Json.decodeValue 将主体(json 字符串)转换为 java class.

MyClass body = Json.decodeValue(rc.getBodyAsString(), MyClass.class);

配置Json来处理未知属性,我设置

Json.mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

对于您的查询字符串,我认为编写一个 class 将其转换为 json 字符串很容易:)

我还在 Json.decodeValue 上捕捉到 DecodeException 以重新抛出 400 错误请求错误。