package com.muse.dto; import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import org.springframework.lang.Nullable; import java.io.Serializable; import java.time.OffsetDateTime; import jakarta.validation.Valid; import jakarta.validation.constraints.*; import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; import jakarta.annotation.Generated; /** * ErrorResponse */ @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T16:47:40.290595+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0") public class ErrorResponse implements Serializable { private static final long serialVersionUID = 1L; private String code; private String msg; private @Nullable String detail; public ErrorResponse() { super(); } /** * Constructor with only required parameters */ public ErrorResponse(String code, String msg) { this.code = code; this.msg = msg; } public ErrorResponse code(String code) { this.code = code; return this; } /** * 错误码格式: {system}-{module}-{category}-{sequence} 示例: MUSE-CONTENT-001-0001 * @return code */ @NotNull @Schema(name = "code", example = "MUSE-CONTENT-001-0001", description = "错误码格式: {system}-{module}-{category}-{sequence} 示例: MUSE-CONTENT-001-0001 ", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("code") public String getCode() { return code; } @JsonProperty("code") public void setCode(String code) { this.code = code; } public ErrorResponse msg(String msg) { this.msg = msg; return this; } /** * 人类可读的错误描述 * @return msg */ @NotNull @Schema(name = "msg", description = "人类可读的错误描述", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("msg") public String getMsg() { return msg; } @JsonProperty("msg") public void setMsg(String msg) { this.msg = msg; } public ErrorResponse detail(@Nullable String detail) { this.detail = detail; return this; } /** * 详细错误信息(仅开发环境返回) * @return detail */ @Schema(name = "detail", description = "详细错误信息(仅开发环境返回)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("detail") public @Nullable String getDetail() { return detail; } @JsonProperty("detail") public void setDetail(@Nullable String detail) { this.detail = detail; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ErrorResponse errorResponse = (ErrorResponse) o; return Objects.equals(this.code, errorResponse.code) && Objects.equals(this.msg, errorResponse.msg) && Objects.equals(this.detail, errorResponse.detail); } @Override public int hashCode() { return Objects.hash(code, msg, detail); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ErrorResponse {\n"); sb.append(" code: ").append(toIndentedString(code)).append("\n"); sb.append(" msg: ").append(toIndentedString(msg)).append("\n"); sb.append(" detail: ").append(toIndentedString(detail)).append("\n"); sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(@Nullable Object o) { return o == null ? "null" : o.toString().replace("\n", "\n "); } }