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

做去态网站要学什么语言3d模型免费素材网站

做去态网站要学什么语言,3d模型免费素材网站,设计说明书范文,手机网站怎么开发文章目录前言一、Knife4j是什么?二、使用步骤1.导入依赖2.编写配置文件3.编写controller和实体类4.测试总结前言 接上篇整合Swagger链接奉上http://t.csdn.cn/9mXSu 一、Knife4j是什么? 官方文档:https://doc.xiaominfo.com/ knife4j可以理解…

文章目录

  • 前言
  • 一、Knife4j是什么?
  • 二、使用步骤
    • 1.导入依赖
    • 2.编写配置文件
    • 3.编写controller和实体类
    • 4.测试
  • 总结


前言

接上篇整合Swagger链接奉上http://t.csdn.cn/9mXSu


一、Knife4j是什么?

官方文档:https://doc.xiaominfo.com/

knife4j可以理解swagger的升级版,采用的是后端Java代码和Ui都混合在一个Jar包里面的方式提供给开发者使用,Knife4j不仅仅将前身的Ui皮肤通过Vue技术栈进行了重写,也增加了更多个性化的特性增强功能,基于springfox项目以及OpenAPI的规范,目前主要支持以Java开发为主,并且是依赖于大环境下使用的Spring MVC、Spring Boot、Spring Cloud框架.

二、使用步骤

1.导入依赖

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version></dependency>

2.编写配置文件

application.yml

spring:mvc:pathmatch:# 配置策略matching-strategy: ant-path-matcher

我们需要在config包下创建Knife4jConfig.java文件

package com.lzl.config;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.ReflectionUtils;
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;import java.lang.reflect.Field;
import java.util.List;
import java.util.stream.Collectors;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/7 15:56*/
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {@Bean(value = "dockerBean")public Docket dockerBean() {//指定使用Swagger2规范Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//描述字段支持Markdown语法.description("# Knife4j RESTful APIs测试").termsOfServiceUrl("https:www.baidu.com/").contact(new Contact("Sincere","Sincere.com","Sincere@qq.com")).version("1.0").build())//分组名称.groupName("用户服务").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.lzl")).paths(PathSelectors.any()).build();return docket;}@Beanpublic BeanPostProcessor generateBeanPostProcessor(){return new BeanPostProcessor() {@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {if (bean instanceof WebMvcRequestHandlerProvider) {customizeSpringfoxHandlerMappings(getHandlerMappings(bean));}return bean;}private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {List<T> copy = mappings.stream().filter(mapping -> mapping.getPatternParser() == null).collect(Collectors.toList());mappings.clear();mappings.addAll(copy);}@SuppressWarnings("unchecked")private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {try {Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");field.setAccessible(true);return (List<RequestMappingInfoHandlerMapping>) field.get(bean);} catch (IllegalArgumentException | IllegalAccessException e) {throw new IllegalStateException(e);}}};}
}

3.编写controller和实体类

package com.lzl.pojo;import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/7 15:04*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("用户对象")
public class User {@ApiModelProperty("用户唯一标识")private Integer userId;@ApiModelProperty("用户名")private String userName;@ApiModelProperty("家庭住址")private String address;
}

这里做一个模拟数据库查询数据的动作

package com.lzl.controller;import com.lzl.pojo.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.ArrayList;
import java.util.List;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/7 15:08*/@RestController
@RequestMapping("/user")
@Api(tags = "用户接口")
public class UserController {@GetMapping("/getAll")@ApiOperation("条件查询+分页获取用户信息")public List<User> getAll(User user){List<User> users = new ArrayList<>();users.add(new User(1,"大飞","草庙村"));users.add(new User(2,"大黄","山洞"));users.add(new User(3,"任老板","卧龙山"));return users;}@DeleteMapping("/deleteInfo")@ApiOperation("根据ID删除用户")public String deleteInfo(Integer id){return "删除成功!";}
}

4.测试

启动项目,访问http://localhost:8080/doc.html
在这里插入图片描述
成功!
我们可以查看所有的接口的详细信息,并调试
在这里插入图片描述


总结

Knife4j本质上和Swagger差不多,没太大区别,只不过界面可能更友好一些

http://www.yayakq.cn/news/333710/

相关文章:

  • 做我的奴隶腾讯网站5118新媒体运营
  • 做网站视频赚钱吗flask公司网站开发
  • 天津制作网站首页台州建设局网站信息价
  • 创意网站设计 高端引流推广犯法吗
  • 重庆南川网站制作公司哪家专业天元建设集团有限公司欠薪问题
  • 手机网站设计公网站开发kxhtml
  • 组建个人网站wordpress 文字环绕
  • 企业网站seo案例分析织梦网站模块
  • 苏州城乡建设局的网站首页考虑了软件开发过程中的风险
  • 做一个app大概要多少钱谷歌seo推广
  • 正能量网站入口地址wordpress 管理界面
  • 网站开发里的输入全球网站域名后缀
  • 网站定制的公司哪家好织梦通用企业网站模板
  • 怎么用动图做网站背景网站策划书编写
  • 网站营销中常见问题学校招生网络营销方案
  • 北京app建设 网站开发公司淘客网站怎么做 知乎
  • 掘金网站建设乒乓球网页设计素材
  • 郑州网站建设华久自己怎么做淘宝客网站吗
  • 软件下载网站开发有什么做第二职业的网站吗
  • 新建的网站怎么上首页网站图片切换代码
  • 网站制作效果好长沙新能源建站补贴
  • 河南城市建设网站中小企业网站建设维护内容
  • 怎么做消费信贷网站线上网页设计流程
  • 中文网站设计怎么构建一个网站
  • 做租赁哪个网站好如何在淘宝网上卖东西
  • 昌吉做58网站的网站系统怎么建设
  • 应用商城app开发徐州seo代理计费
  • 山西格泰网站建设wordpress图片上传到哪里
  • 静态网站设计方案网站开发职业环境分析
  • 可以做猫头像的网站安卓搭载wordpress