me.setErrorJsonContent(500, Ret.by("msg", "Internal Server Error 服务器内部错误").setFail().toJson());
看源码me.setErrorJsonContent方法是通过判断 发送数据的内容类型来判断是否返回json格式数据,只有 发送数据的内容类型 Content-Type: application/json 才会返回json格式的数据,发送其他类型的内容数据(Content-Type: application/x-www-form-urlencoded、Content-Type: multipart/form-data等)或者get请求一律返回html错误页面,这里是不是bug?是不是应该判断Accept 接收的数据格式

我一般都使用全局Interceptor,自定义一个JsonInterceptor去try捕捉全局的异常情况,然后返回自定义的格式,也可以根据Accept去返回。最主要的是可以 Object ret = inv.getReturnValue(); 这样允许Action返回值用return xx; 编写代码会简洁很多,特别是在多判断语句中编写更安全了不会漏return;