当前位置: 首页 > 知识库问答 >
问题:

Swagger core v3的java实现

邢硕
2023-03-14

我正在编写一些API,我想在编写代码的同时集成文档,所以我发现Swagger是一个很好的方法。

我使用了Swagger core v3符号,所以我的类类似于:

@RestController

@RequestMapping("/api/v1/bundles")

@OpenAPIDefinition(

        info = @Info(
                title = "Lifecycle Management RESTful API.",
                version = "1",
                description = "TODO",
                license = @License(name = "Apache 2.0", url = "xxx"),
                contact = @Contact(url = "xxx", name = "xx", email = "xxx@xxx.fr")
        ))

public class RestBundle {

    @GetMapping(value = "/{nodeId}",
            produces = MediaType.APPLICATION_JSON_VALUE)
    @ResponseStatus(HttpStatus.OK)
    @ResponseBody
    @Operation(summary = "Get all bundles",
            description = "Get all available bundles status from a specific node")
    public Something(..)  {
        //Something ...
    }

}
@Configuration
@EnableSwagger2

public class SwaggerConfig {


    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }


    ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("ANF Orchestrator")
                .description("REST API for ANF Orchestrator")
                .license("Apache 2.0")
                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
                .termsOfServiceUrl("")
                .version("1.0.0")
                .contact(new Contact("Amine","xxx", "aalaouie@laas.fr"))
                .build();
    }
}

无法呈现此定义,提供的定义没有指定有效的版本字段。

请指出一个有效的Swagger或OpenAPI版本字段。支持的版本字段有:“2.0”和那些与OpenAPI:3.0.n匹配的版本字段(例如,OpenAPI:3.0.0)。

共有1个答案

龚博涛
2023-03-14

尝试使用WebMvcConfigurationSupport扩展SwaggerConfig类,并使用如下实现重写其名为addResourceHandlers的方法:

@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
}
 类似资料:
  • 问题内容: 标准api不包含AtomicBitSet实现。我可以将自己放在AtomicIntegerArray之上,但也不要这样做。 是否有人知道根据与Apache 2兼容的许可证发布的现有实现?我只需要基本操作即可设置和检查位。 编辑: 代码是性能和内存的关键,因此我想避免同步或每个标志使用整数(如果可能)。 问题答案: 我将使用AtomicIntegerArray,并且每个整数将使用32个标志

  • 问题内容: SCIM是Google,Salesforce,Ping Identity..etc等提出的用于用户配置的新标准。是否存在现有的Java实现来支持此功能? 问题答案: WSO2 Charon是另一个基于Java的SCIM实现。 http://www.slideshare.net/HasiniG/wso2-charon

  • 我正在使用IBM JRE,我想为我的密码实现PBEWithSHAAnd128BitRC4算法,所以我应该为我的SecretKeyFactory和SecretKeySpec使用哪种算法,下面是我从Provider.getInfo()方法为IBMJCE Provider获得的支持algos的密钥。 多谢了。

  • 我是新来的,所以请原谅我的小错误。我目前正在做一个我的小项目,看到我处理长度在四万或更多的数字。 我目前正在使用BigInteger来处理这些值,我需要一些执行速度更快的东西。我读到BigInteger在其实现中使用了一个整数数组,我需要知道的是BigInteger是使用这个数组中的每个索引来表示每个小数点,就像1-9一样,还是使用了更有效的方法。 我这么问是因为我已经想到了一个使用位操作的实现,

  • 标准api不包括原子位集实现。我可以在AtomicIntegerArray上滚动我自己的,但我不太喜欢。 有人知道在与Apache 2兼容的许可下发布的现有实现吗?我只需要基本操作来设置和检查位。 编辑: 代码对性能和内存都很关键,所以如果可能的话,我希望避免同步或每个标志一个整数。

  • 我是Qpid的新手,我正在尝试设置环境。在阅读了大量文档之后,我设法下载了Apache Qpid并在localhost:8080中运行它 我还安装了maven、cmake。现在我正在尝试在Eclipse中启动一个新的maven项目以发送一条简单的消息。我根本不熟悉API接口和概念。我必须在我的项目解决方案中包含任何类型的jar吗?或者我如何使用服务器? 我也找到了这个https://github.

  • 问题内容: 是否有针对JAX-WS RI,Axis2,CXF或其他工具包的WS-Discovery规范的任何实现? 问题答案: 我知道的唯一Java实现是以下一种:http : //code.google.com/p/java-ws-discovery/ Wiki中有JAX-WS示例。

  • 问题内容: 是否有经过验证的Java Pair类实现? 我的意思是随时可用,被广泛接受并经过测试,也许是更广泛的库(例如Apache Commons或Guava)的一部分。 问题答案: 是的,看看Apache Commons 。 尽量少用, 如果在所有 ; 并没有真正传达元素之间的内容或关系的任何信息。 (该类被故意遗漏在标准Java API中。)