<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>com.xindazhou</groupId>
        <artifactId>xdz-module-gateway</artifactId>
        <version>${revision}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>xdz-module-gateway-server</artifactId>
    <packaging>jar</packaging>

    <name>${project.artifactId}</name>
    <description>API Gateway 网关服务实现</description>

    <dependencies>
        <!-- Spring Cloud Gateway -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <!-- 框架基础 -->
        <dependency>
            <groupId>com.xindazhou</groupId>
            <artifactId>xdz-spring-boot-starter-env</artifactId>
        </dependency>

        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- 注意：Gateway 使用 WebFlux，不能使用基于 Servlet 的 security starter -->
        <!-- Gateway 的认证使用 WebFlux 的 GlobalFilter -->
        
        <!-- JWT 工具类依赖（用于 Token 验证） -->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
        </dependency>
        
        <!-- 框架 Common（包含 JWT 工具类） -->
        <dependency>
            <groupId>com.xindazhou</groupId>
            <artifactId>xdz-common</artifactId>
        </dependency>

        <!-- Redis（用于 Token 验证，第二阶段使用） -->
        <!-- <dependency>
            <groupId>com.xindazhou</groupId>
            <artifactId>xdz-spring-boot-starter-redis</artifactId>
        </dependency> -->

        <!-- Registry 注册中心相关（可选，本地开发可禁用） -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Config 配置中心相关（可选，本地开发可禁用） -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- 监控相关 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <!-- 注意：Gateway 使用 WebFlux（响应式），不能使用 spring-boot-starter-web（Servlet） -->
        <!-- Gateway 基于 Netty，使用响应式编程模型 -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

