【Java】若以框架(ruoyi-master)——10.BaseController原始碼瞭解

陆陆无为而治者發表於2024-10-28

BaseController通用方法

Web層的通用資料。所有介面繼承此方法。裡面有一些各個介面會用到的通用方法。比如分頁、返回訊息、設定或獲取一些登入資訊,某些操作的時候,將日誌寫入或返回。

方法歸類 方法名稱 說明
請求引數預處理 initBinder() 將前臺傳遞過來的日期格式的字串,自動轉化為Date型別
分頁相關方法 startPage() 設定請求分頁資料
startOrderBy() 設定請求排序資料
clearPage() 清理分頁的執行緒變數
返回相關方法 getDataTable(List<?> ) 響應請求分頁資料
success() 返回成功資訊
error() 返回失敗資訊
success(String) 返回成功訊息
success(Object) 返回成功訊息
error(String) 返回失敗訊息
error(Object) 返回失敗訊息
toAjax(int)/toAjax(boolean) 響應返回結果
登入相關方法 redirect(String) 頁面跳轉
getLoginName() 獲取登入使用者名稱
getUserId() 獲取登入使用者Id
getSysUser() 獲取使用者快取資訊
setSysUser(SysUser) 設定使用者快取資訊

getDataTable 分析

getDataTable(List<?> list) 響應分頁請求可以。

TableDataInfo物件

public class TableDataInfo  {
	private long total; /** 總記錄數 */
	private List<?> rows; /** 列表資料 */
	private int code; /** 訊息狀態碼 */
	private String msg; /** 訊息內容 */
}

返回樣式:image

AjaxResult 返回訊息格式

public class AjaxResult extends HashMap<String, Object>{
	/** 狀態碼 */
	public static final String CODE_TAG = "code";
	/** 返回內容 */
	public static final String MSG_TAG = "msg";
	/** 資料物件 */
	public static final String DATA_TAG = "data";
}

image

BaseEntity

BaseEntity基類。其他demo繼承他。(減少通用欄位,時間格式的寫入)

public class BaseEntity implements Serializable
{
    /** 搜尋值 */
    @JsonIgnore
    private String searchValue;

    /** 建立者 */
    private String createBy;

    /** 建立時間 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新時間 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 備註 */
    private String remark;

    /** 請求引數 */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Map<String, Object> params;
}

image

相關文章