对目标文件的引用。 Why/How这是创建和使用的吗?

Reference to the target-file. Why/How is this created and used?

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

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

从目标目录导入并且 class 正常使用:

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 class 与use User class 共享相同的字段,但方法不同。

我从来没有见过这样的东西,我完全不知所措。我查看了配置文件,但找不到生成这些 classes 的提示。

那些class是由Swagger Codegen生成的。一般工作流程是:

  1. 使用 OpenAPI 规范描述 API
  2. 配置 Maven 的 POM to use swagger-codegen-maven-plugin 以生成代码。
  3. 通过mvn generate-sources生成代码(mvn package会在后台调用它)
  4. 它只为每个 API 端点生成一个抽象 @RestController 配置了 @RequestMapping 和 request/response POJO。您仍然必须通过扩展生成的 @RestController.
  5. 来实现 actual logic