【问题标题】:Rest Api documentation with swagger and Spring MVC带有 swagger 和 Spring MVC 的 Rest Api 文档
【发布时间】:2016-03-05 04:41:48
【问题描述】:

嗨,我的 spring mvc 项目中有几个 REST api,我想为每个服务创建文档并将其存储在文件中,以便与团队共享。 我经常阅读 Swagger 或 Springfox 并对其进行配置,我添加了

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.7.0-rc1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.1.2</version>
</dependency>

和配置类:

package com.config.core;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import static springfox.documentation.builders.PathSelectors.*;
@Configuration
@EnableSwagger2
public class SwaggerConfig {

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

    private ApiInfo apiInfo() {
        ApiInfo apiInfo = new ApiInfo(
            "My Project's REST API",
            "1.0",
            "This is a description of your API.",
            "API TOS",
            "me@wherever.com",
            "API License",
            "API License URL"
        );
        return apiInfo;
    }
}

但是 swagger-ui.html 不存在,我有:

> /v2/api-docs 
> /configuration/security
> /configuration/ui 
> /swagger-resources

那么,如何查看我的 Web 服务器文档并将其保存在文件中?当用户必须使用网络平台时,我想避免在 url 上显示。谢谢

【问题讨论】:

标签: java rest spring-mvc swagger springfox


【解决方案1】:

springfox-swagger-ui 是一个 webjar,jar 中嵌入的资源需要通过资源处理程序注册。

您需要添加资源处理程序as demonstrated in the spring mvc demo。这样,应用程序可以呈现 swagger ui 资产。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多