我最近从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类共享相同的字段,但是方法不同。
我从未见过这样的事情,完全感到困惑。我查看了配置文件,但找不到在何处生成这些类的提示。
最佳答案
这些类由Swagger Codegen生成。常规工作流程为:
使用OpenAPI规范描述API。
配置Maven的POM以使用swagger-codegen-maven-plugin生成代码。
通过mvn generate-sources
生成代码(mvn package
将在后台调用它)
它仅生成为每个API端点配置了@RestController
和请求/响应POJO的抽象@RequestMapping
。您仍然必须通过扩展生成的@RestController
来实现actual logic。
关于java - 对目标文件的引用。为什么/如何创建和使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55983091/