Java 我可以仅使用lombok功能包装dto吗?

Java 我可以仅使用lombok功能包装dto吗?,java,json,lombok,objectmapper,Java,Json,Lombok,Objectmapper,我有一个dto类用于与支付系统api交互: @JsonInclude(JsonInclude.Include.NON_NULL) @JsonIgnoreProperties(ignoreUnknown = true) @Builder @Getter @Setter public class PaymentSystemRequestDto { @JsonProperty("order_id") protected String orderId; @JsonProperty

我有一个dto类用于与支付系统api交互:

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@Builder
@Getter
@Setter
public class PaymentSystemRequestDto {
    @JsonProperty("order_id")
    protected String orderId;
    @JsonProperty("merchant_id")
    protected String merchantId;
    @JsonProperty("amount")
    protected Long amount;
    @JsonProperty("currency")
    protected String currency;
    @JsonProperty("version")
    protected String version;
    @JsonProperty("verification")
    private Boolean verification = false;
    @JsonProperty("verification_type")
    private VerificationType verificationType;

    public static class PaymentSystemRequestDtoBuilder {
        public PaymentSystemRequestDtoBuilder amount(Long amount) {
            this.amount = amount * 100;
            return this;
        }

        public PaymentSystemRequestDtoBuilder cardRegistrationPayment() {
            this.verification = true;
            this.verificationType = VerificationType.AMOUNT;
            return this;
        }
    }
}
当我发送请求时,基于我的dto,我有这样一个post方法主体:

{
    "order_id": "a94f1d0d-21c5-4c2d-824d-d6c1875eaa30",
    "merchant_id": "1234567",
    "amount": 100,
    "currency": "USD",
    "version": "1.0",   
}
我需要将主体包装到“request”对象中,使主体看起来像:

{
    "request": {
        "order_id": "a94f1d0d-21c5-4c2d-824d-d6c1875eaa30",
        "merchant_id": "1234567",
        "amount": 100,
        "currency": "USD",
        "version": "1.0",   
    }
}
但不修改对象映射器序列化/反序列化功能(不使用注释@JsonRootName


我试图用一个生成器创建一个内部类,但它看起来很健壮和复杂。。。有什么办法来处理这个简单吗?< /p>你不能创建一个<代码> map <代码>并序列化它而不是普通的代码> PayStutsRealestDTO to /Case>对象吗?我认为这不是非常安全和方便的解决方案……而不是映射,你可以使用一个简单的单字段类;不管怎样,我觉得这张地图很简单也很简单。