package com.njzscloud.dispose.sys.endpoint.pojo.param;

import com.njzscloud.common.security.contant.EndpointAccessModel;
import com.njzscloud.dispose.sys.endpoint.contant.RequestMethod;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * 端点信息表
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class ModifyEndpointParam {

    /**
     * Id
     */
    @NotNull
    private Long id;

    /**
     * 请求方式; 字典代码：request_method
     */
    @NotNull(message = "请求方式不能为空")
    private RequestMethod requestMethod;

    /**
     * 路由前缀; 以 / 开头 或 为空
     */
    private String routingPath;

    /**
     * 端点地址; 以 / 开头, Ant 匹配模式
     */
    @NotBlank(message = "端点地址不能为空")
    private String endpointPath;

    /**
     * 接口访问模式; 字典代码：endpoint_access_model
     */
    @NotNull(message = "访问模式不能为空")
    private EndpointAccessModel accessModel;

    /**
     * 备注
     */
    private String memo;

}
