对目标文件的引用。为什么/如何创建和使用?

时间:2019-05-04 13:38:57

标签: java spring-boot swagger-codegen

我最近刚开始使用Spring-Security,在这种情况下,在GitHub上找到了一个符合我兴趣的项目。

在阅读一些代码时,我发现一个类( facade \ impl \ UserFacadeImpl.java )已链接到目标包。这意味着,当我运行

  • mvn包:已创建目标文件且导入链接有效
  • mvn clean :目标文件被破坏,IDE将导入链接标记为无效

从目标目录和正常使用的类中导入:

import com.boza.swaggergen.model.Credential;
import com.boza.swaggergen.model.User;

public class UserFacadeImpl implements UserFacade {

    @Override
    public User createUser(final User user) {
        UserModel userModel = modelMapper.map(user, UserModel.class);
        userModel = userService.createUser(userModel);
        return modelMapper.map(userModel, User.class);
    }

UserModel类与use User类共享相同的字段,但是方法不同。

我从未见过这样的事情,完全感到困惑。我查看了配置文件,但找不到在何处生成这些类的提示。

1 个答案:

答案 0 :(得分:1)

这些类由Swagger Codegen生成。常规工作流程为:

  1. 使用OpenAPI规范描述API
  2. 配置Maven的POM以使用swagger-codegen-maven-plugin生成代码。
  3. 通过mvn generate-sources生成代码(mvn package将在后台调用)
  4. 它仅生成一个摘要@RestController,该摘要已配置@RequestMapping和每个API端点的请求/响应POJO。您仍然必须通过扩展生成的@RestController来实现actual logic