当前位置: 首页 > news >正文

临沂做企业网站如何推广一款app

临沂做企业网站,如何推广一款app,百度关键词优化方案,东莞专业网站建设公司1.简介 OpenAPI阶段的Swagger也被称为Swagger 3.0。在Swagger 2.0后,Swagger规范正式更名为OpenAPI规范,并且根据OpenAPI规范的版本号进行了更新。因此,Swagger 3.0对应的就是OpenAPI 3.0版本,它是Swagger在OpenAPI阶段推出的一个…

1.简介

        OpenAPI阶段的Swagger也被称为Swagger 3.0。在Swagger 2.0后,Swagger规范正式更名为OpenAPI规范,并且根据OpenAPI规范的版本号进行了更新。因此,Swagger 3.0对应的就是OpenAPI 3.0版本,它是Swagger在OpenAPI阶段推出的一个重要版本。与前几个版本相比,Swagger 3.0更加强调对RESTful API的支持和规范化,提供了更丰富和灵活的定义方式,并且可以用于自动生成文档、客户端代码、服务器代码和测试工具等。

1.1 Open API

        OpenApi是业界真正的 api 文档标准,其是由 Swagger 来维护的,并被linux列为api标准,从而成为行业标准。

OpenAPI 3 Library for spring-boot (springdoc.org)

1.2 Swagger

        swagger 是一个 api 文档维护组织,后来成为了 Open API 标准的主要定义者

1.3 SpringFox

SpringFox 是一个成熟且广泛使用的库,它允许你通过注解描述 API 并生成符合 OpenAPI 规范(原 Swagger 规范)的文档。SpringFox 支持 Swagger 2.0 及其后继者 OpenAPI 3.0。

特点:

  • 支持 Swagger 2.0 和 OpenAPI 3.0。
  • 通过使用 Swagger 注解(如 @Api@ApiOperation@ApiModel@ApiModelProperty 等)来描述 API。
  • 提供了多种方式来自定义文档,包括通过代码或配置文件。
  • 可以通过扫描类路径中的控制器类自动生成文档。
  • 更新频率较低,最近几年维护活动减少。

1.4 SpringDoc

OpenAPI 3 Library for spring-boot (springdoc.org)

SpringDoc 是一个相对较新的替代方案,它专为 OpenAPI 3.0 设计,提供了对最新 OpenAPI 规范的全面支持。

特点:

  • 主要关注 OpenAPI 3.0,对 OpenAPI 3.0 的支持更全面。
  • 使用更简洁的注解(如 @Tag@Operation@Parameter 等)来描述 API。
  • 更好的支持 Spring WebFlux,适合现代的响应式编程模型。
  • 更频繁的更新和活跃的社区支持。
  • 与 Spring Boot 的集成更加紧密,可以通过 Spring Boot 的自动配置特性简化设置过程。

1.5 Knife4j

        Knife4jInsight(简单、方便的OpenAPI接口文档私有化聚合平台),地址:http://knife4j.neticon-default.png?t=N7T8http://knife4j.net/

1.6 Swagger 3 (OpenAPI 3) 与swagger 2 区别

1.7 Swagger 3 (OpenAPI 3)注解详细介绍

(1)基本信息注解描述位置属性

@OpenAPIDefinition

用于定义整个 API 文档的基本信息。类、接口
  • info:指定 @Info 注解的对象,用于描述 API 文档的基本信息。

@Info

用于定义 API 文档的基本信息类、接口。
  • title:API 的标题。
  • description:API 的描述。
  • version:API 的版本号。
  • termsOfService:服务条款的 URL。
  • contact:指定 @Contact 注解的对象,用于描述联系人信息。
  • license:指定 @License 注解的对象,用于描述许可证信息。

@Contact

用于定义 API 文档中的联系人信息。类、接口
  • name:联系人的名称。
  • url:联系人的网址。
  • email:联系人的电子邮件地址。

@License

用于定义 API 文档中的许可证信息类、接口。
  • name:许可证的名称。
  • url:许可证的网址。
(2)分组注解描述位置属性

@Tag

用于给 API 分组,用途类似于为 API 文档添加标签。方法、类、接口
  • name:分组的名称。
(3)请求方法注解描述位置属性

@Operation

用于描述 API 的操作。方法。
  • summary:操作的摘要信息。
  • description:操作的详细描述。
  • tags:指定 @Tag 注解的对象数组,用于将操作归类到特定的分组。
  • parameters:指定 @Parameter 注解的对象数组,用于描述操作的输入参数。
  • responses:指定 @ApiResponse 注解的对象数组,用于描述操作的响应结果。
  • requestBody:指定 @RequestBody 注解的对象,用于描述操作的请求体。

@Parameter

用于描述操作的输入参数。方法
  • name:参数的名称。
  • in:参数的位置,可以是 pathqueryheadercookie 中的一种。
  • description:参数的描述。
  • required:参数是否必需,默认为 false
  • schema:指定 @Schema 注解的对象,用于描述参数的数据类型。

@RequestBody

用于描述操作的请求体方法
  • required:请求体是否必需,默认为 false
  • content:指定 @Content 注解的对象数组,用于描述请求体的内容。

@ApiResponse

用于描述操作的响应结果方法
  • responseCode:响应的状态码。
  • description:响应的描述。
  • content:指定 @Content 注解的对象数组,用于描述响应的内容。

@Content

用于描述请求体或响应的内容方法。
  • mediaType:内容的媒体类型。
  • schema:指定 @Schema 注解的对象,用于描述内容的数据类型。

@Schema

用于描述数据模型的属性。方法、类、接口。
  • title:数据模型的标题。
  • description:数据模型的描述。
  • type:数据模型的类型。
  • format:数据模型的格式。
(4)路径注解描述位置属性

@Path

用于定义路径参数。方法
  • value:路径参数的名称。

@PathVariable

用于描述路径参数。方法的参数
  • value:路径参数的名称。

@RequestParam

用于描述查询参数。方法的参数。
  • value:查询参数的名称。
  • required:查询参数是否必需,默认为 false

@RequestBody

用于描述请求体。方法的参数
(5) 响应注解描述位置属性

@ApiResponse

用于描述响应结果。方法。
  • responseCode:响应的状态码。
  • description:响应的描述。
  • content:指定 @Content 注解的对象数组,用于描述响应的内容。

@Content

用于描述响应结果的内容方法
  • mediaType:内容的媒体类型。
  • schema:指定 @Schema 注解的对象,用于描述内容的数据类型。

@Schema

用于描述数据模型的属性。方法、类、接口。
  • title:数据模型的标题。
  • description:数据模型的描述。
  • type:数据模型的类型。
  • format:数据模型的格式。

 2. 配置Knife4j

2.1 添加依赖

        因为Knife4j提供的starter已经引用springdoc-openapi的jar,开发者需注意避免jar包冲突。这里直接使用Knife4j

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.4.0</version>
</dependency>

2.2 添加配置类

package com.zsh.test.swagger3test.config;import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.media.StringSchema;
import io.swagger.v3.oas.models.parameters.Parameter;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springdoc.core.configuration.SpringDocConfiguration;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.Collections;/**Knife4j整合swagger3* @author ZhaoShuhao* @data 2024/7/21 11:06*/
@Configuration
public class OpenApiConfig {@Beanpublic OpenAPI springShopOpenApi() {return new OpenAPI()// 接口文档标题.info(new Info().title("swagger3")// 接口文档简介.description("这是基于Knife4j OpenApi3的测试接口文档")// 接口文档版本.version("1.0版本")// 开发者联系方式.contact(new Contact().name("zsh").email("1401969521@qq.com")));}
}

2.3 yml配置

springdoc:swagger-ui:path: /swagger-ui.htmltags-sorter: alphaoperations-sorter: alphaapi-docs:path: /v3/api-docsgroup-configs:- group: 'zsh'paths-to-match: '/**'#生成文档所需的扫包路径,一般为启动类目录packages-to-scan: com.zsh.test.swagger3test#knife4j配置
knife4j:#是否启用增强设置enable: true#开启生产环境屏蔽production: false#是否启用登录认证basic:enable: trueusername: adminpassword: 123456setting:language: zh_cnenable-version: trueenable-swagger-models: trueswagger-model-name: 用户模块

2.4 运行结果

路径:http://localhost:8080/doc.html

http://www.yidumall.com/news/92732.html

相关文章:

  • 专业网站建设公司哪里济南兴田德润什么活动河南企业网站推广
  • 网站设计怎么做链接河南整站关键词排名优化软件
  • 岳池网站建设嘉兴seo外包平台
  • 吉林智能网站建设找哪家中国万网域名注册服务内容
  • 规划阿里巴巴网站怎么做360搜索引擎下载
  • vs做网站怎么上seo营销专员
  • 安卓app软件开发费用网站关键词优化排名软件系统
  • Wordpress网站调用代码seo快速优化排名
  • 网站中如何做图片轮播seo快速排名软件网址
  • 网站布局图片关键词挖掘查询工具
  • 网站建设公司面临的问题公司网站如何在百度上能搜索到
  • 怎么编辑网站后台石家庄最新疫情
  • 信息网站建设汇报福清市百度seo
  • 网站建设找泉州效率网络广告推广软件
  • 网站可以做腾讯广告联盟宁波seo外包哪个品牌好
  • 网站做跳转对排名有影响吗公司网页制作
  • 编程网站免费中文版网址大全浏览器主页
  • 网站规划书的内容有哪些市场运营和市场营销的区别
  • 长春网站建设网诚传媒聊城网站推广公司
  • 绵阳 网站 建设网站制作维护
  • 黑龙江住房和城乡建设部网站百度站长提交
  • 广告企业网站源码上海野猪seo
  • 成都网站建设公司排行百度识图官网
  • 优秀平面设计网站怎么推广产品最有效
  • 访问不到自己做的网站网络营销的重要性
  • 专门代做毕设的网站友情链接出售网
  • 公司网站的好处seo外链工具有用吗
  • wordpress 上传fttp合肥seo排名公司
  • 北京建站优化公司杭州百度首页排名
  • 建设厅网站举报廊坊网站设计