spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获
生活随笔
收集整理的這篇文章主要介紹了
spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
spring boot: GlobalDefaultExceptionHandler方法內(nèi)的友好錯誤提示,全局異常捕獲
當你的某個控制器內(nèi)的某個方法報錯,基本上回顯示出java錯誤代碼,非常不友好,這個時候可以通過新建GlobalDefaultExceptionHandler.java文件,
1.加上@ControllerAdvice注解,?
2. 然后復(fù)寫defaultExceptionHandler方法,在方法上添加@ResponseBody輸出注解,?
? 以及@ExceptionHandler(Exception.class)注解,就能友好的已文字的信息顯示錯誤信息l
package com.muyang.boot22.config;import javax.servlet.http.HttpServletRequest;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody;@ControllerAdvice public class GlobalDefaultExceptionHandler {@ExceptionHandler(Exception.class)@ResponseBodypublic String defaultExceptionHandler(HttpServletRequest req,Exception e){//是返回的String.//ModelAndView -- 介紹 模板引擎...? // ModelAndView mv = new ModelAndView(); // mv.setViewName(viewName);return "對不起,服務(wù)器繁忙,請稍后再試!";}}
參考項目:
?
?
pom.xml參考代碼
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><!-- spring mvc,aop,restful,fastjson --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><!-- tomcat的支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- fastjson --> <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency><!-- 熱部署 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional><scope>true</scope></dependency></dependencies><build><plugins><!-- 熱部署 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--fork : 如果沒有該項配置,呢個devtools不會起作用,即應(yīng)用不會restart --><fork>true</fork></configuration></plugin></plugins></build>
?
App.java參考代碼
package com.muyang.boot22;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.web.HttpMessageConverters; import org.springframework.context.annotation.Bean; import org.springframework.http.converter.HttpMessageConverter;import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.support.config.FastJsonConfig; import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;/*** Hello world!**/ @SpringBootApplication public class App {//fastJson配置@Beanpublic HttpMessageConverters fastJsonHttpMessageConverters(){FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();FastJsonConfig fastJsonConfig = new FastJsonConfig();fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);fastConverter.setFastJsonConfig(fastJsonConfig);HttpMessageConverter<?> converter = fastConverter;return new HttpMessageConverters(converter);}public static void main( String[] args ){//System.out.println( "Hello World!" );SpringApplication.run(App.class, args);} }
?
HelloController.java樣例
package com.muyang.boot22.controller;import java.util.Map;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;@Controller public class HelloController {@RequestMapping("/hello")public void index(Map<String, Object>map){//map.put("name", "張三");//return "hello";int i = 1024/0;}}
運行App.java
訪問?http://localhost:8080/hello時,報錯。能友好提示
?
轉(zhuǎn)載于:https://www.cnblogs.com/achengmu/p/9370904.html
總結(jié)
以上是生活随笔為你收集整理的spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django框架(上传Excel文件并读
- 下一篇: [C#]关于override和new在重