gpt4 book ai didi

java - 在 Swagger 中使用泛型处理特殊情况

转载 作者:太空宇宙 更新时间:2023-11-04 13:57:53 25 4
gpt4 key购买 nike

我正在将 Swagger 添加到现有项目中以生成文档。它大多工作得很好,但有一些边缘情况会产生一些奇怪的文档,我想知道是否有办法处理它们。

一个 Web 方法将对泛型类型进行操作,如下所示:

public abstract class AbstractServiceClass<T>
{
@ApiOperation(value="blah blah",tags={ "Generic methods"})
@Path("/doGenericThing")
@POST
@Consumes({ "application/xml", "application/json" })
@Produces({ "application/xml", "application/json" })
public T doGenericThing(@ApiParam T entity)
{
//...
}
}

@Api(value="/a.b.c")
@Path("a.b.c")
public class ConcreteService extends AbstractServiceClass<SomeEntityType>{
//...
}

当 swagger 生成 ConcreteService 的文档时,它会生成 doGenericThing 方法的文档,但无法确定参数类型为 SomeEntityType。有没有办法在Swagger生成具体服务类的文档时告诉Swagger继承方法的参数类型?

我也有类似的情况,他的通用方法仅适用于某些实体。这些实体应用了自定义注释,并且代码能够确定给定的输入是否是它可以处理的内容。有没有办法告诉 swagger 不要为标记为 @Api 的某些服务类中的继承方法生成方法文档?

我对 Swagger 相当陌生,我不确定它是否能够处理这些场景。我愿意添加映射文件,甚至扩展 API(如果有合理且有记录的方法来执行此操作)以添加此自定义功能。重写这些类以便 Swagger 更容易理解它们可能不是一个好的选择。

最佳答案

我建议在 https://github.com/swagger-api/swagger-core/issues 上开一个问题来跟踪这个。由于类型删除肯定存在一些限制,无法通过在运行时读取实现来克服这些限制。

关于java - 在 Swagger 中使用泛型处理特殊情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29632000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com