Java:一个API文档框架Swagger

简介: Java:一个API文档框架Swagger

新建SpringBoot项目,添加依赖

<!-- Swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>

项目主要文件结构

$ tree
pom.xml
src/main/java/com/example/demo
             ├── Application.java
             ├── config
             │   └── SwaggerConfig.java
             └── controller
                 └── EmployeeController.java

配置类

package com.example.demo.config;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket() {
        // 扫描指定接口所在路径
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    // swagger 信息
    public ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("利用swagger2构建的API文档")
                .description("用restful风格写接口")
                .termsOfServiceUrl("https://www.baidu.com/")
                .version("1.0")
                .build();
    }
}

控制器

package com.example.demo.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@Api(value = "用户管理类", description = "接口描述")
public class EmployeeController {
    @ApiOperation(value = "新增一个用户", notes = "新增一个用户")
    @GetMapping(value = "insert")
    public String insert(Map<String, Object> map) {
        return "hi";
    }
    @ApiOperation(value = "更新一个用户", notes = "更新一个用户")
    @GetMapping(value = "update")
    public String update(Map<String, Object> map) {
        return "hi";
    }
}

文档页面:http://localhost:8080/swagger-ui.html

28.1.png


感觉入侵性太强了,而且配置参数较多,密密麻麻的

参考

Swagger的简介与使用方法

相关文章
|
关系型数据库 MySQL 数据安全/隐私保护
Docker实战——MySQL的数据持久化
Docker实战——MySQL的数据持久化
3216 0
Docker实战——MySQL的数据持久化
|
JSON Java 数据格式
|
8月前
|
JSON 监控 JavaScript
Swagger UI 本地主机教程: 如何在本地使用 Swagger UI?
Swagger UI 提供在线和离线版本,但由于各种原因,你可能需要在本地使用 Swagger UI。 在本文中,我们将向你展示如何在本地使用 Swagger UI。
|
JavaScript 前端开发 测试技术
如何测试 CORS 是否正常工作?
通过以上多种方法的综合测试,可以全面地检查 CORS 是否正常工作,及时发现和解决跨域资源共享中可能存在的问题,确保不同源的网页和服务器之间能够正常地进行数据交互。
1377 60
|
9月前
|
运维 负载均衡 数据可视化
零门槛、低成本或无成本、轻松部署您的专属DeepSeek-R1 满血版4种解决方案
宏哥在仔细阅读了所有评测报告后,发现视频演示较少,因此决定制作一个涵盖四种部署方案的视频教程及评测。视频更加直观,便于用户理解。
444 2
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
1060 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
Dubbo Java 测试技术
提升API文档品质:Swagger annotations (注解)使用教程
Swagger 提供的注解集是其框架中定义 API 规范和文档的重要工具。这些注解在代码里标注重要部分,为 Swagger 的解析工作铺路,进而生成详尽的 API 文档。开发者编写的注释能够被转换成直观的文档,并展现API端点、参数和响应等信息。这不仅提升了开发人员对 API 运作的理解与沟通,也使得测试和集成过程更加顺畅。
|
域名解析 网络协议 安全
Cloudflare域名解析
本文讲解如何快速搞定cloudflare域名解析,首先你需要先注册一个cloudflare账户,接着添加你的域名,然后根据个人需要选择域名解析方案,一般我们选择free套餐就可以。再接下来cloudflare会自动同步你现有域名记录,你可以根据需要修改这个域名记录,点击下一步后,cloudflare会为你提供两个新的域名服务器nameserver;你需要在你的域名注册商处将现有的域名服务器替换成cloudflare提供的。
5494 0
Cloudflare域名解析
|
数据可视化 Java 测试技术
IDEA快速构建UML类图
IDEA快速构建UML类图
1339 1
|
Python
Python中的try-except异常处理机制
Python中的try-except异常处理机制
331 0