首页主机资讯Linux下Swagger与RabbitMQ如何协同工作

Linux下Swagger与RabbitMQ如何协同工作

时间2025-10-20 10:01:04发布访客分类主机资讯浏览530
导读:在Linux环境下,Swagger和RabbitMQ可以协同工作,以提供一个完整的API文档和消息队列服务。以下是它们如何协同工作的步骤: 1. 安装和配置RabbitMQ 首先,你需要在Linux系统上安装RabbitMQ。你可以使用包管...

在Linux环境下,Swagger和RabbitMQ可以协同工作,以提供一个完整的API文档和消息队列服务。以下是它们如何协同工作的步骤:

1. 安装和配置RabbitMQ

首先,你需要在Linux系统上安装RabbitMQ。你可以使用包管理器来安装,例如在Ubuntu上:

sudo apt update
sudo apt install rabbitmq-server

启动RabbitMQ服务并设置开机自启动:

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

2. 安装和配置Swagger

Swagger是一个用于设计、构建、记录和使用RESTful Web服务的框架。你可以使用Swagger UI来展示你的API文档。

安装Swagger UI

你可以使用Docker来快速安装Swagger UI:

docker pull swaggerapi/swagger-ui
docker run -p 8080:8080 swaggerapi/swagger-ui

访问 http://localhost:8080 即可看到Swagger UI界面。

配置Swagger

在你的Spring Boot应用中,添加Swagger依赖:

<
    dependency>
    
    <
    groupId>
    io.springfox<
    /groupId>
    
    <
    artifactId>
    springfox-swagger2<
    /artifactId>
    
    <
    version>
    2.9.2<
    /version>
    
<
    /dependency>
    
<
    dependency>
    
    <
    groupId>
    io.springfox<
    /groupId>
    
    <
    artifactId>
    springfox-swagger-ui<
    /artifactId>
    
    <
    version>
    2.9.2<
    /version>
    
<
    /dependency>
    

配置Swagger:

import springfox.documentation.builders.PathSelectors;
    
import springfox.documentation.builders.RequestHandlerSelectors;
    
import springfox.documentation.spi.DocumentationType;
    
import springfox.documentation.spring.web.plugins.Docket;
    
import springfox.documentation.swagger2.annotations.EnableSwagger2;


@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
    
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo"))
                .paths(PathSelectors.any())
                .build();

    }

}
    

3. 集成RabbitMQ与Swagger

在你的Spring Boot应用中,集成RabbitMQ并使用Swagger来记录API文档。

添加RabbitMQ依赖

<
    dependency>
    
    <
    groupId>
    org.springframework.boot<
    /groupId>
    
    <
    artifactId>
    spring-boot-starter-amqp<
    /artifactId>
    
<
    /dependency>
    

配置RabbitMQ

application.propertiesapplication.yml 中配置RabbitMQ:

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

创建RabbitMQ生产者和消费者

创建一个生产者类来发送消息到RabbitMQ:

import org.springframework.amqp.rabbit.core.RabbitTemplate;
    
import org.springframework.beans.factory.annotation.Autowired;
    
import org.springframework.stereotype.Service;


@Service
public class RabbitMQProducer {
    
    @Autowired
    private RabbitTemplate rabbitTemplate;


    public void sendMessage(String message) {
    
        rabbitTemplate.convertAndSend("exchangeName", "routingKey", message);

    }

}
    

创建一个消费者类来接收消息:

import org.springframework.amqp.rabbit.annotation.RabbitListener;
    
import org.springframework.stereotype.Component;


@Component
public class RabbitMQConsumer {

    @RabbitListener(queues = "queueName")
    public void receiveMessage(String message) {
    
        System.out.println("Received message: " + message);

    }

}
    

在Swagger中记录API

使用Swagger注解来记录你的API:

import io.swagger.annotations.Api;
    
import io.swagger.annotations.ApiOperation;
    
import org.springframework.beans.factory.annotation.Autowired;
    
import org.springframework.web.bind.annotation.*;


@RestController
@RequestMapping("/api")
@Api(tags = "RabbitMQ Controller")
public class RabbitMQController {
    
    @Autowired
    private RabbitMQProducer rabbitMQProducer;


    @ApiOperation("Send a message to RabbitMQ")
    @PostMapping("/send")
    public String sendMessage(@RequestParam String message) {
    
        rabbitMQProducer.sendMessage(message);
    
        return "Message sent";

    }

}
    

4. 运行和测试

启动你的Spring Boot应用:

./mvnw spring-boot:run

访问 http://localhost:8080/swagger-ui.html 查看Swagger UI界面,并测试你的API。

通过以上步骤,你可以在Linux环境下实现Swagger和RabbitMQ的协同工作,提供一个完整的API文档和消息队列服务。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux下Swagger与RabbitMQ如何协同工作
本文地址: https://pptw.com/jishu/729806.html
Linux环境中Swagger如何实现日志记录 如何在Linux系统中部署Swagger服务

游客 回复需填写必要信息