Knife4j在springboot中的基本使用

Knife4j是一个基于Swagger的Java后端API文档生成工具,通过集成Swagger UI和Swagger Bootstrap UI可以快速创建美观易用的API文档。

在Spring Boot 项目中,使用Knife4j可以简单地添加Swagger UI和Swagger Bootstrap UI的依赖,然后使用注解标记API接口和参数, Knife4j将自动生成文档。

  1. 添加依赖

在项目的构建文件中(例如build.gradle或pom.xml)添加Knife4j的依赖:

Maven:

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

Gradle:

implementation group: 'com.github.xiaoymin',  name: 'knife4j-spring-ui', version: '{version}

 3.标记api接口和参数

package com.example.demo.controller;

import com.example.demo.bean.Order;
import com.example.demo.model.OrderDao;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.net.URI;
import java.util.List;

@RestController
@RequestMapping("/api/orders")
@Tag(name = "订单管理")
public class OrderApi {
    private final OrderDao orderDao;

    public OrderApi(OrderDao orderDao) {
        this.orderDao = orderDao;
    }

    @Operation(summary = "获取订单")
    @GetMapping
    public ResponseEntity<List<Order>> findAllOrders() {
        List<Order> orders = orderDao.findAllOrders();
        if (orders.isEmpty()) {
            return ResponseEntity.notFound().build();
        }
        return ResponseEntity.ok().body(orders);
    }

    @GetMapping("/{id}")
    public ResponseEntity<Order> findOrderById(@PathVariable String id) {
        Order order = orderDao.findOrderById(id);
        if (order == null) {
            return ResponseEntity.notFound().build();
        }
        return ResponseEntity.ok().body(order);
    }

    @Operation(summary = "创建订单")
    @PostMapping
    public ResponseEntity<Order> createOrder(@RequestBody Order order) {
        Order savedOrder = orderDao.createOrder(order);
        return ResponseEntity.created(URI.create("/api/orders/" + savedOrder.getId())).body(savedOrder);
    }

    @Operation(summary = "修改订单")
    @PutMapping("/{id}")
    public ResponseEntity<Order> updateOrder(@PathVariable String id, @RequestBody Order order) {
        Order savedOrder = orderDao.updateOrder(id, order);
        return ResponseEntity.ok().body(savedOrder);
    }

    @Operation(summary = "删除订单")
    @DeleteMapping("/{id}")
    public ResponseEntity<Void> deleteOrder(@PathVariable String id) {
        orderDao.deleteOrder(id);
        return ResponseEntity.ok().build();
    }
}

4.运行应用程序 

运行项目,并在浏览器中访问http://localhost:8080/doc.html,就可以看到生成的Knife4j文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Knife4j是基于Swagger的增强UI实现,可以帮助我们生成API文档以及测试接口,使接口文档更加直观、易懂。在SpringBoot项目,我们可以通过以下步骤来实际使用Knife4j: 1.添加Knife4j依赖 在pom.xml文件添加以下依赖: ``` <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.2</version> </dependency> ``` 2.配置Swagger 在SpringBoot项目,我们可以通过@Configuration注解来配置Swagger,例如: ``` @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title("API文档") .description("这是一个Swagger API文档") .version("1.0.0") .build()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } } ``` 其,@EnableSwagger2注解表示开启Swagger功能,@Bean注解表示将该方法返回的对象注册到Spring容器,Docket对象表示用于配置Swagger的构建器,apiInfo方法用于设置文档基本信息,select方法用于指定要扫描的接口,这里我们扫描com.example.demo.controller包下的接口。 3.访问Knife4j页面 启动SpringBoot项目后,访问http://localhost:8080/doc.html即可进入Knife4j页面,可以看到自动生成的接口文档以及测试接口的功能。通过点击接口名称,可以查看该接口的详细信息,包括请求参数、响应参数等。同时,我们也可以在页面上进行接口测试,方便调试接口。 总的来说,使用Knife4j可以让接口文档更加直观、易懂,同时也方便了前后端的沟通与开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值