2022-12-01 21:16
还有很多办法,方法一:
通过 JsonRender.gAttrs()、getJsonText() 获取必要数据,参考 JsonRender.buildJsonText() 中的代码去生成 json 来使用,这个会额外消耗性能
方法二:
继承 JsonRender 做一个 MyJsonRender,覆盖其中 buildJsonText() 方法,将方法声明中的 protected 改为 public:
public void buildJsonText() {
super.buildJsonText();
}
然后在拦截器中大致这么用:
if (render instanceof MyJsonRender) {
MyJsonRender mjr = (MyJsonRender)render;
if (getJsonText() == null) {
mjr.builderJsonText();
String json = getJsonText();
}
}
以上的 json 对象就得到了最终的 jsonText() 并且还不影响性能
方法二扩展的 MyJsonRender 可以放在 BaseController 中,通过覆盖父类的 renderJson 来实现,也可以更彻底通过扩展 RenderFactory 来实现切换,具体看下文档或者源代码
2022-11-10 23:42
@yjjdick1990 可能加个 servlet, druid 的控制台可以通过 servlet 支持,也有可能是通过 Filter 支持,要看看它的文档