`
cqh520llr
  • 浏览: 517335 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

swagger ui操作

 
阅读更多


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

/**
 * Swagger2API文档的配置
 * Created by macro on 2018/4/26.
 */
@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.sangem.codeorder.tablet.controller"))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(securitySchemes())
                .securityContexts(securityContexts());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("mall前台系统")
                .description("mall前台模块")
                .contact("macro")
                .version("1.0")
                .build();
    }

    private List<ApiKey> securitySchemes() {
        //设置请求头信息
        List<ApiKey> result = new ArrayList<>();
        ApiKey apiKey = new ApiKey("Authorization", "Authorization", "header");
        result.add(apiKey);
        return result;
    }

    private List<SecurityContext> securityContexts() {
        //设置需要登录认证的路径
        List<SecurityContext> result = new ArrayList<>();
        result.add(getContextByPath("/member/.*"));
        result.add(getContextByPath("/cart/.*"));
        result.add(getContextByPath("/order/.*"));
        result.add(getContextByPath("/returnApply/.*"));
        return result;
    }

    private SecurityContext getContextByPath(String pathRegex) {
        return SecurityContext.builder()
                .securityReferences(defaultAuth())
                .forPaths(PathSelectors.regex(pathRegex))
                .build();
    }

    private List<SecurityReference> defaultAuth() {
        List<SecurityReference> result = new ArrayList<>();
        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        result.add(new SecurityReference("Authorization", authorizationScopes));
        return result;
    }
}

分享到:
评论

相关推荐

    Asp.Net WebApi添加SwaggerUI

    Asp.Net WebApi添加SwaggerUI是一项重要的开发任务,它能够为API提供友好的文档和测试接口,便于开发者理解和使用API。SwaggerUI是Swagger工具集的一部分,它基于Swagger规范,能够生成交互式的API文档,使API的调试...

    swaggerUI静态资源包

    5. 使用Swagger UI:在界面上,开发者可以看到API的列表,点击每个操作可以查看详细信息,并直接进行测试。 关于“spring swagger”的标签,这表明了我们是在Spring环境中使用Swagger。Spring的灵活性使得与Swagger...

    swagger-editor和swagger-ui和swaggerui扩展版

    "SwaggerUI.rar" 文件很可能包含了预打包的 Tomcat 服务器以及配置好的 Swagger UI 应用,用户只需解压并启动即可在 Tomcat 上运行 Swagger UI。 在实际开发中,这三个工具共同构成了一个强大的工具链,帮助开发...

    swagger-ui

    使用Swagger UI,开发者可以执行以下操作: - 查看API的完整结构,包括资源、操作、参数和响应。 - 在浏览器中直接发起GET、POST、PUT、DELETE等HTTP请求,无需借助其他工具。 - 验证请求参数和格式,避免因错误的...

    swaggerui.zip

    Swagger的核心是OpenAPI规范,它定义了一个标准的、语言无关的方式来描述API,使得机器和人类都能理解API的结构和操作。 **2. SpringBoot集成Swagger 2** 为了在SpringBoot项目中集成Swagger 2,首先需要添加依赖。...

    swagger-ui 的集成文件

    Swagger 提供了一种标准化的方法来描述 API,它使用 OpenAPI 规范(之前称为 Swagger 规范),这是一种 YAML 或 JSON 格式的规范,用于定义 RESTful API 的端点、操作、参数、响应等。OpenAPI 规范使得 API 的设计、...

    swagger-ui, 汉化了swagger-ui,修改了部分样式.zip

    为了使用这个汉化并定制样式的Swagger UI,开发者需要按照`README.md`中的指示进行操作,可能包括安装必要的依赖,然后运行构建脚本来生成最终的静态资源,最后将这些资源部署到服务器上,以便在浏览器中访问。...

    swagger-ui-4.12.0.zip

    Swagger UI利用这些描述,生成一个易于理解的用户界面,使开发者可以轻松地浏览API的资源,了解每个操作的用途、参数、返回值等信息。 Swagger UI 4.12.0 版本可能包含以下组件和特性: 1. **交互式文档**:用户...

    WebApi-SwaggerUI.rar

    标题中的“WebApi-SwaggerUI.rar”表明这是一个与Web API和Swagger UI相关的压缩包,通常包含用于构建和展示RESTful API文档的资源。Swagger是一个强大的API开发工具,它允许开发者通过YAML或JSON格式来定义和文档化...

    Swagger 自定义UI界面.zip

    压缩包中的 "Swagger 自定义UI界面.doc" 文件很可能包含了详细的步骤、示例代码和最佳实践,指导用户如何完成这些自定义操作。这份文档可能会涵盖如何配置 Swagger 的 Java 库,如何使用 HTML 和 CSS 自定义模板,...

    swagger-ui-master.zip

    使用Swagger UI,你可以按照以下步骤操作: 1. 解压下载的zip文件。 2. 如果有构建脚本,运行它以生成可部署的静态资源。 3. 在浏览器中打开生成的HTML文件(通常是`index.html`)。 4. 输入你的API的OpenAPI定义...

    SpringMVC+SwaggerUI

    SpringMVC和SwaggerUI是两个在Java Web开发中非常重要的工具。SpringMVC是Spring框架的一部分,用于构建高效、灵活的Web应用程序,而SwaggerUI则是一个用于生成、测试和展示RESTful API的交互式界面。这个名为...

    resetfull swaggerUI

    "resetfull swaggerUI"是一个用于展示API接口定义的web用户界面,主要目的是便于开发者查看、测试和理解API的输入和输出参数。Swagger UI是Swagger工具生态的一部分,它基于OpenAPI Specification(OAS),这个规范...

    swagger_ui+spec文件

    Swagger UI 提供了实时验证、文档浏览、以及对API操作的尝试等功能,极大地提高了开发和调试的效率。在这个版本中,2.2.10 是Swagger UI的一个稳定版本,包含了之前版本的改进和修复。 在Java后端开发中,Swagger ...

    swagger ui 的官方库

    Swagger UI的官方库提供了完整的解决方案,帮助开发者构建直观、用户友好的界面,让API的使用者能够了解API的功能和进行实时操作。 Swagger规范,也称为OpenAPI规范,是一种JSON格式的标准,用于定义RESTful API的...

    swagger-bootstrap-ui

    3. **Swagger UI**:Swagger UI是Swagger生态的一部分,它读取OpenAPI规范文件,并将其转换为用户友好的网页,允许开发者查看API文档、尝试API操作并获取即时反馈。Swagger Bootstrap UI是对Swagger UI的扩展和定制...

    swagger-ui-master

    通过这种方式,你可以创建一个完全定制的,与你的API无缝集成的Swagger UI,提供给开发人员一个清晰、可操作的API文档,提升开发效率和API的可用性。同时,这也是遵循“契约先行”原则的良好实践,因为API的定义在...

    Swagger-UI 基于REST的API测试/文档类插件

    1. **API探索**:用户可以通过输入API的基础URL,Swagger-UI会自动解析OpenAPI规范,展示API的全部资源和操作。每个操作都配有详细的描述、请求和响应示例,使得测试和调试API变得简单。 2. **交互式测试**:在 ...

Global site tag (gtag.js) - Google Analytics