beego通过拦截器filter实现打印接口请求和返回参数

效果展示

在这里插入图片描述

┌ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
│ 请求地址:"/mine/get_test/*"
├ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
│ 请求参数:{"code":["2"],"id":["U00000000001"]}
│ 返回数据:{"code":200,"msg":"","data":{"id":"20190808123606000235","CreateTime":"2019-08-08 12:36:06","IsDelete":0,"UpdateTime":"2019-08-08 12:36:06","Version":0,"Name":""}}
└ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

实现方法

添加日志拦截filter

		// 添加日志拦截器
		var FilterLog = func(ctx *context.Context) {
			url, _ := json.Marshal(ctx.Input.Data()["RouterPattern"])
			params, _ := json.Marshal(ctx.Request.Form)
			outputBytes, _ := json.Marshal(ctx.Input.Data()["json"])
			divider := " - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
			topDivider := "┌" + divider
			middleDivider := "├" + divider
			bottomDivider := "└" + divider
			outputStr := "\n" + topDivider + "\n│ 请求地址:" + string(url) + "\n" + middleDivider + "\n│ 请求参数:" + string(params) + "\n│ 返回数据:" + string(outputBytes) + "\n" + bottomDivider
			logs.Info(outputStr)
		}
		// 最后一个参数必须设置为false 不然无法打印数据
		beego.InsertFilter("/*", beego.FinishRouter, FilterLog, false)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值