API接口测试/Swgger-ui未授权访问

目录

API接口

接口文档

接口测试的方法

单流程

多流程

Swgger-ui未授权访问


在之间的一次面试中面试官问到了API接口测试,我回答的不好,因为自己确实不太会,后面才下去学习了,这里复习和练习一下

API接口

API(Application Programming Interface)是应用程序开发接口的缩写,意思是一些预设好的函数或方法,这些预设好的函数或方法允许第三方程序通过网络来调用数据或提供基于数据的服务。

Web API是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。

API接口的类型

RESTful API:REST,Representational State Transfer的缩写,是一种使Web基础架构具有分布式特征的架构风格。RESTful API是基于REST架构风格的API,通常使用HTTP/js/ajax进行数据传输。它是使用最广泛的API类型之一。
SOAP API:全称是Simple Object Access Protocol,是UDDI、XML和SOAP的组合,它要求在高度可靠和安全的系统之间进行通信。SOAP API 使用 XML 格式请求和响应数据,并支持多种协议,包括 HTTP、HTTPS 等。对于企业级应用程序来说,SOAP API更适合处理大规模数据交换和复杂的业务流程。
GraphQL API:GraphQL是一种用于API的查询语言。与REST和SOAP不同,GraphQL不像API那样让开发者获取整个集合数据,而是根据开发者的需要返回客户端需要的数据。GraphQL API具有强大的类型系统和查询语言,使得客户端能够更精确地请求数据,而不是不必要地获取整个集合数据。

例如12306购票网站,所有的数据都在12306上,12306提供一整套接口,调用接口我们就可以获取到里面的数据

接口文档

在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。

接口文档的规范

每一个接口的文档分为四部分:请求方法、URI、请求参数、返回参数

  • 请求方法:

<think>好的,用户的问题是关于在若依框架中集成和使用Swagger进行API文档管理。首先,我需要回忆若依框架的结构,它通常是一个前后端分离的架构,所以可能需要配置Swagger在后端部分。根据用户提供的引用内容,特别是引用[1]、[2]、[3],里面提到了Swagger的配置类、依赖导入以及路径映射的调整。 首先,用户可能需要知道如何添加Swagger的依赖。根据引用[2],需要导入Knife4j的依赖,因为若依可能使用的是这个版本的Swagger。然后,配置类方面,引用[1]提到了创建SwaggerConfig.java,并启用@EnableSwagger2。不过需要注意,若依可能已经集成了Swagger,但需要调整配置,比如路径映射,如引用[3]所述,需要修改application.yml中的swagger.pathMapping,去掉dev-api。 接下来,用户可能需要具体的步骤,包括修改配置文件、检查依赖、创建配置类以及访问文档的路径。另外,需要确保路径正确,避免404错误。可能还需要提到常见的注意事项,比如启用Swagger的生产环境问题,或者权限拦截导致无法访问的情况。 还要考虑用户可能的疑问,比如如何测试接口,或者如何配置多个模块的API分组。根据引用[2]中的配置类示例,可能需要自定义Docket实例来分组。同时,确保代码示例正确,特别是依赖部分是否正确,比如groupId和artifactId是否正确,版本是否匹配。 最后,生成相关问题,可能需要涉及配置优化、权限处理、生产环境关闭Swagger的方法,以及如何扩展Knife4j的功能。确保回答结构清晰,分步骤说明,帮助用户逐步完成集成和使用。</think>### 若依框架集成Swagger的配置与使用教程 #### 1. **配置环境与依赖** - **添加依赖** 在若依后端项目的`pom.xml`中导入Knife4j(Swagger增强版)依赖: ```xml <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency> ``` 确保版本与Spring Boot兼容[^2]。 - **检查配置文件** 在`application.yml`中确认Swagger路径映射: ```yaml swagger: pathMapping: / ``` 若原配置包含`dev-api`(如引用[3]所示),需将其删除以避免接口路径错误[^3]。 #### 2. **创建Swagger配置类** - **新建配置类** 在`config`目录下创建`SwaggerConfig.java`: ```java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.ruoyi")) // 指定扫描包路径 .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("若依管理系统API文档") .description("RESTful接口详情") .version("1.0") .build(); } } ``` 此配置启用Swagger并定义文档基本信息[^1][^2]。 #### 3. **访问与调试** - **文档地址** 启动项目后访问- Swagger原生UI:`http://localhost:端口号/swagger-ui.html` - Knife4j增强UI:`http://localhost:端口号/doc.html` - **接口测试** 在Swagger页面可直接调试接口,查看请求参数、响应格式及示例。 #### 4. **常见问题处理** - **路径404错误** 检查`swagger.pathMapping`是否与项目上下文路径一致[^3]。 - **权限拦截** 若依框架可能拦截`/doc.html`路径,需在安全配置中放行: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/doc.html").permitAll(); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未知百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值