Java Springfox复制控制器

Java Springfox复制控制器,java,spring,swagger-ui,swagger-codegen,Java,Spring,Swagger Ui,Swagger Codegen,我试图与swagger-codegen和springfox一起工作,以便在web服务开发过程中获得时间 我面临一个为我的带注释的接口类以及控制器实现创建端点的问题,如下所示: 我找到了一个解决方法,在我的控制器中添加了控制器应该位于的标记(例如:@Api(tags={“Player”})),但我正在寻找一个更好的方法来防止这种情况,因为如果我使用代码生成来避免这种情况,即您必须在代码中添加内容 使用swagger codegen,我只需编写一个RestController(PlayerApiI

我试图与
swagger-codegen
springfox
一起工作,以便在web服务开发过程中获得时间

我面临一个为我的带注释的接口类以及控制器实现创建端点的问题,如下所示:

我找到了一个解决方法,在我的控制器中添加了控制器应该位于的标记(例如:
@Api(tags={“Player”})
),但我正在寻找一个更好的方法来防止这种情况,因为如果我使用代码生成来避免这种情况,即您必须在代码中添加内容

使用
swagger codegen
,我只需编写一个
RestController
(PlayerApiImpl)如下:

@RestController
public class PlayerApiImpl implements PlayerApi {

    @Override
    public ResponseEntity<Player> playerIdGet(String id) {
        PlayerDTO ret = service.getOne(Long.parseLong(id));
        if (ret == null) {
            throw  new PlayerNotFoundException();
        }
        return ResponseEntity.ok(mapper.toModel(ret));
    }
}
@RestController
公共类PlayerApiImpl实现PlayerApi{
@凌驾
公共响应性playerIdGet(字符串id){
PlayerDTO ret=service.getOne(Long.parseLong(id));
if(ret==null){
抛出新的PlayerNotFoundException();
}
返回ResponseEntity.ok(mapper.toModel(ret));
}
}

而一切都生成一个接口(这里是PlayerApi)。因此,我希望尽可能简单。

我决定进一步推动我的解决方案,并找到了以下解决方案:

实际上,可以直接在生成的接口中取消添加@Api注释,以防止将其添加到实现中。为此,您需要使用可以在swagger文件所在的目录中创建的胡子模板文件


这可能不是最好的解决方案,因此如果您有更好的建议,请随意评论。

我决定进一步改进我的解决方案,并找到了以下解决方案:

实际上,可以直接在生成的接口中取消添加@Api注释,以防止将其添加到实现中。为此,您需要使用可以在swagger文件所在的目录中创建的胡子模板文件

这可能不是最好的解决方案,所以如果你有更好的建议,请随意评论