美文网首页
SpringBoot统一错误处理JSON

SpringBoot统一错误处理JSON

作者: 那片丶花海 | 来源:发表于2019-06-01 23:39 被阅读0次

    SpringBoot方式:


    1. 问题描述 

       修改springboot默认的返回错误信息,以适应前台ajax处理

        {

            error: "Internal Server Error"

            message: "com.netflix.client.ClientException: Load balancer does not have available server for client: jcloud-provider-oauth"

            path: "/oauth/oauthclientdetails/add"

            status: 500

            timestamp: "2019-06-01T14:03:39.865+0000"

            trace: "java.lang.RuntimeException: com.netflix.client.Cli...."

        }

    SpringBoot在发生异常时候,会自动跳转到/error进行错误管理,该/error默认对应的BasicErrorController在包org.springframework.boot.autoconfigure.web.servlet.error中.

    第一部分为处理页面请求

    第二部分为处理非页面请求


    2. 统一处理json的原因是因为SpringBoot返回的json不符合业务的需求,所以我们要进行改造,在errorHtml和error都调用调用了getErrorAttributes方法,该方法就生成返回json的Map.

    因此,我们重写该方法,在获取map之后,再进行我们自己的处理即可。


    3.改造方法

    继承BasicErrorController

    JcloudBasicErrorController

    配置configuration使其生效

    JcloudErrorConfiguration

    有问题,可以参考

    https://github.com/jh531207323/jcloud

    相关文章

      网友评论

          本文标题:SpringBoot统一错误处理JSON

          本文链接:https://www.haomeiwen.com/subject/hprbqqtx.html