高端网站建设口碑淘宝上做网站 源代码怎么给你

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

高端网站建设口碑,淘宝上做网站 源代码怎么给你,网站怎么做搜索引擎,前端网站开发兼职Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文…Knife4j是一款基于Swagger2的在线API文档框架使用Knife4j, 需要· 添加Knife4j的依赖当前建议使用的Knife4j版本, 只适用于Spring Boot2.6以下版本, 不含Spring Boot2.6· 在主配置文件(application.yml)中开启Knife4j的增强模式必须在主配置文件中进行配置, 不要配置在个性化配置文件中· 添加Knife4j的配置类, 进行必要的配置必须指定控制器的包关于依赖项的代码:!– Knife4j Spring Boot在线API – dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-spring-boot-starter/artifactIdversion2.0.9/version /dependency在application.yml中添加配置:knife4j:enable: true在根包下创建config.Knife4jConfiguration配置类:package cn.tedu.csmall.passport.config;import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; 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.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;/*** Knife4j配置类** author javatedu.cn* version 0.0.1/ Slf4j Configuration EnableSwagger2WebMvc public class Knife4jConfiguration {/** 【重要】指定Controller包路径/private String basePackage cn.tedu.csmall.passport.controller;/** 分组名称/private String groupName passport;/** 主机名/private String host http://java.tedu.cn;/** 标题/private String title 酷鲨商城在线API文档–管理员管理;/** 简介/private String description 酷鲨商城在线API文档–管理员管理;/** 服务条款URL/private String termsOfServiceUrl http://www.apache.org/licenses/LICENSE-2.0;/** 联系人/private String contactName Java教学研发部;/** 联系网址/private String contactUrl http://java.tedu.cn;/** 联系邮箱/private String contactEmail javatedu.cn;/** 版本号*/private String version 1.0.0;Autowiredprivate OpenApiExtensionResolver openApiExtensionResolver;public Knife4jConfiguration() {log.debug(加载配置类Knife4jConfiguration);}Beanpublic Docket docket() {String groupName 1.0.0;Docket docket new Docket(DocumentationType.SWAGGER_2).host(host).apiInfo(apiInfo()).groupName(groupName).select().apis(RequestHandlerSelectors.basePackage(basePackage)).paths(PathSelectors.any()).build().extensions(openApiExtensionResolver.buildExtensions(groupName));return docket;}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(title).description(description).termsOfServiceUrl(termsOfServiceUrl).contact(new Contact(contactName, contactUrl, contactEmail)).version(version).build();}}完成后, 启动项目, 通过 http://localhost:9081/doc.html 即可访问在线API文档!关于Knife4j的在线API文档, 可以通过一系列注解来配置此文件的显示:Api添加在控制器类上通过此注解的tags属性可以指定模块名称并且在指定名称时建议在名称前添加数字作为序号Knife4j会根据这些数字将各模块升序排列例如Api(tags 01. 管理员管理模块)ApiOpearation添加在控制器类中处理请求的方法上通过此注解的value属性可以指定业务/请求资源的名称例如ApiOperation(添加管理员)ApiOperationSupport添加在控制器类中处理请求的方法上通过此注解的order属性int可以指定排序序号Knife4j会根据这些数字将各业务/请求资源升序排列例如ApiOperationSupport(order 100)关于RequestBody在Spring MVC框架中在处理请求的方法的参数前当添加了RequestBody注解则客户端提交的请求参数必须是对象格式的例如{name: 小米11的相册,description: 小米11的相册的简介,sort: 88}如果客户端提交的数据不是对象而是FormData格式的在接收到请求时将报错org.springframework.web.HttpMediaTypeNotSupportedException: Content type application/x-www-form-urlencoded;charsetUTF-8 not supported当没有添加RequestBody注解则客户端提交的请求参数必须是FormData格式的例如name小米11的相册description小米11的相册的简介sort88如果客户端提交的数据不是FormData格式的而是对象则无法接收到参数不会报错控制器中各参数值为null另外Knife4j框架的调试界面中如果是对象格式的参数使用了RequestBody将不会显示各请求参数的输入框而是提供一个JSON字符串供编辑如果是FormData格式的参数没有使用RequestBody则会显示各请求参数对应的输入框。通常更建议使用FormData格式的请求参数则在控制器处理请求的方法的参数上不需要添加RequestBody注解在Vue脚手架项目中为了更便捷的使用FormData格式的请求参数可以在项目中使用qs框架此框架的工具可以轻松的将JavaScript对象转换成FormData格式则在前端的Vue脚手架项目中先安装qsnpm i qs -S然后在main.js中添加配置import qs from qs;Vue.prototype.qs qs;最后在提交请求之前可以将对象转换成FormData格式例如let formData this.qs.stringify(this.ruleForm);console.log(formData formData);如果处理请求时参数是封装的POJO类型需要对各请求参数进行说明时应该在此POJO类型的各属性上使用ApiModelProperty注解进行配置通过此注解的value属性配置请求参数的名称通过requeired属性配置是否必须提交此请求参数并不具备检查功能例如需要注意ApiModelProperty还可以用于配置响应时的各数据对于处理请求的方法的参数列表中那些未封装的参数例如String、Long需要在处理请求的方法上使用ApiImplicitParam注解来配置参数的说明并且必须配置name属性此属性的值就是方法的参数名称使得此注解的配置与参数对应上然后再通过value属性对参数进行说明还要注意此属性的required属性表示是否必须提交此参数默认为false即使是用于配置路径上的占位符参数一旦使用此注解required默认也会是false则需要显式的配置为true另外还可以通过dataType配置参数的数据类型如果未配置此属性在API文档中默认显示为string可以按需修改为int、long等。例如如果处理请求的方法上有多个未封装的参数则需要使用多个ApiImplicitParam注解进行配置并且这多个ApiImplicitParam注解需要作为ApiImplicitParams注解的参数例如