当我扩展RepresentationModelAssemblerSupport时,我无法访问Lombok的AllArgsContructor

问题描述 投票:0回答:1

我已经尝试解决这个问题有一段时间了,但在我的 Spring Boot 项目中,在我扩展“RepresentationModelAssemblerSupport”的一个汇编器类中,当我扩展我开始拥有的类时,我找不到任何可以帮助我的东西与我的 Lombok

@AllArgsContructor
冲突,我用它不使用
@Autowired
保持代码干净,所以我无法编译,并且在注释“Lombok 需要基类中的默认构造函数”中收到以下警告,但我已经在类中有一个构造函数

经过大量研究,我发现在某些情况下其他注释(如

@NoArgsConstructor
@RequiredArgsConstructor
)有帮助,但我没有成功。

@Component
@AllArgsConstructor
public class SaleModelAssembler
        extends RepresentationModelAssemblerSupport<Sale, SaleModel> {

    @Autowired
    private ModelMapper modelMapper;

enter image description here    public SaleModelAssembler() {
        super(SaleResource.class, SaleModel.class);
    }

    @Override
    public SaleModel toModel(Sale sale) {
        SaleModel saleModel = createModelWithId(sale.getCode(), sale);

        modelMapper.map(sale, saleModel);

        saleModel.getItems().forEach(saleItemModel -> {
            saleItemModel.getProduct().add(linkTo(ProductResource.class)
                    .slash(saleItemModel.getProduct().getId()).withSelfRel());
        });

        return saleModel;
    }

    @Override
    public CollectionModel<SaleModel> toCollectionModel(Iterable<? extends Sale> entities) {
        return super.toCollectionModel(entities).add(linkTo(SaleResource.class).withSelfRel());
    }
}

Imagem erro

java spring spring-boot rest spring-mvc
1个回答
0
投票

您需要向 RepresentationModelAssemblerSupport 添加 @NoArgsConstructor 注释。

请参阅文档此处

© www.soinside.com 2019 - 2024. All rights reserved.