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文件所在的目录中创建的胡子模板文件 这可能不是最好的解决方案,所以如果你有更好的建议,请随意评论