Springboot專案新增介面入參統一列印

2021-10-11 22:48:29 字數 2062 閱讀 6281

需求:要求介面被呼叫時要列印被呼叫方法名,以及入參情況,引數格式化時選擇fastjson

新建註解,用於實現引數列印功能的增強

@target()

@retention

(retentionpolicy

.runtime)

@documented

public

@inte***ce

paraminfo

;}

自定義序列化規則

/**

* 序列化過濾器:值替換

* */

public

class

replacefieldfilter

implements

valuefilter

public

replacefieldfilter

(map

<

string

,object

>

fieldmap)

@override

public

object

process

(object o,

string name,

object value)}}

return value;

}public

map<

string

,object

>

getfieldmap()

public

void

setfieldmap

(map

<

string

,object

>

fieldmap)

/** * 傳入需要脫敏的欄位名,序列化時格式化為 * 號

*/public

replacefieldfilter

(string..

. fields)

}}

寫引數列印增強,這裡選擇環繞增強

@component

@aspect

//表示增強的執行順序,如果多個增強,數值小的先被執行

@order(0

)public

class

paraminfoaspect

}string param;

//引數整合,多字段入參集成為物件,單個物件入參格式不變

if(args.length >1||

(args.length ==

1&& args[0]

.getclass()

==string

.class))

param =

"["+ json.

tojsonstring

(parammap,

newreplacefieldfilter

(fieldmap))+

"]";

}else

string methodname = method.

getname()

; logger.

info

("method:[{}], parameter:{}, requestid:[{}]"

, methodname, param, requestid)

; returnvalue = joinpoint.

proceed()

;return returnvalue;

}catch

(exception e)

finally

ms, requestid:[{}]"

,system

.currenttimemillis()

- starttime, requestid)

; logger.

info

("returnvalue:[{}], requestid:[{}]"

, returnvalue, requestid);}

}}

Springboot專案新增SSL證書

1 獲取ssl證書 3 springboot專案配置 阿里雲 產品 安全 雲安全 ssl證書 1 購買 2 選擇 3 驗證網域名稱 4 等待審核 3 將壓縮包解壓得到 pfx檔案,放到運動伺服器的目錄 1 編輯springboot配置檔案 新增ssl內容 server port 8000 ssl k...

SpringBoot實現post get介面

springboot簡介 spring boot 是在spring spring4.0 版本 基礎之上產生的,其中 boot 的意思就是 引導 意在簡化開發模式,使開發者能夠快速的開發出基於spring 的應用。spring boot 含有乙個內嵌的tomcat web容器。我們開發的web 應用不...

SpringBoot整合swagger介面開發

1.在自己的專案pom檔案裡面必須要新增的兩個依賴 io.springfox springfox swagger2 2.9.2 io.springfox springfox swagger ui 2.9.2 2.新增配置檔案,在配置類裡面新增 configuration enableswagger2...