package cn.iocoder.yudao.module.system.controller.admin.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Map;

/**
 * 内部服务调用代理请求 VO
 * 用于服务间调用，无需登录验证
 */
@Schema(description = "管理后台 - 内部服务调用代理 Request VO")
@Data
public class InternalProxyReqVO {

    @Schema(description = "目标接口路径", required = true, example = "/ykCenter/proceeds/paymentRecordConfirmChangeRecord")
    @NotBlank(message = "目标接口路径不能为空")
    private String targetPath;

    @Schema(description = "HTTP方法", required = true, example = "POST")
    @NotBlank(message = "HTTP方法不能为空")
    private String httpMethod;

    @Schema(description = "请求体（JSON格式）", example = "{\"ykElderId\":123,\"amount\":100.00}")
    private Object requestBody;

    @Schema(description = "请求参数（URL参数）", example = "{\"id\":123}")
    private Map<String, String> queryParams;

    @Schema(description = "请求头（可选）")
    private Map<String, String> headers;
}

