Swagger:你如何为第三方代码添加ApiModelProperty?

Chr*_*sel 7 java swagger

我有一个使用Swagger的Java项目.它在生成swagger.json方面做得很好,但它将所有输出字段列为可选,我需要其中一些.这对我的代码来说不是问题,因为我可以添加@ApiModelProperty注释并指定它是否是必需的.

问题在于来自第三方罐子的物品.我不能去注释那段代码.如何在第三方代码上创建@ApiModelProperty的等效功能?

Mat*_*hew 0

假设我们正在讨论较新版本的 swagger / openAPI。你可以用 a 来拼凑它ReaderListener,像这样:

    public static class FixSwagger implements ReaderListener {
        @Override
        public void beforeScan(OpenApiReader reader, OpenAPI openAPI) {}

        @Override
        public void afterScan(OpenApiReader reader, OpenAPI openAPI) {
            var paths = openAPI.getPaths();
            paths.remove("/application.wadl");
            paths.remove("/application.wadl/{path}");
        }
    }

Run Code Online (Sandbox Code Playgroud)

然后使用以下命令在您的代码中注册:jersey.register(FixSwagger.class);

和方法允许您改变对象,因此您可以通过编程方式更改您需要的任何内容beforeScan()afterScan()openAPI