配置
server: port: 8000 servlet: context-path: "/api" compression: enabled: false
剛接觸 SpringBoot
,HelloWolrd 已經實現。普通的 404 也處理成功了。但是 127.0.0.1:8000/api/error
一直都是 “Whitelabel Error Page”。嘗試了過很多方法,還是無法解決。
我需要把狀態 999
添加到 ErrorPageConifg
里面,但是我不知道該怎么添加。理論上拓展 HttpStatus
就可以了,但這個是只讀的。
This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Jan 14 16:29:43 CST 2020 There was an unexpected error (type=None, status=999). No message available
ErrorPageConifg.java
package cn.vlice.aox.AoxServer.config; import org.springframework.boot.web.server.ConfigurableWebServerFactory; import org.springframework.boot.web.server.ErrorPage; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; @Configuration public class ErrorPageConifg { @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){ return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() { @Override public void customize(ConfigurableWebServerFactory factory) { ErrorPage page404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"); ErrorPage page500 = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"); factory.addErrorPages(page404, page500); } }; } }
ErrorPageController.java
package cn.vlice.aox.AoxServer.controller; import cn.vlice.aox.AoxServer.data.Request; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/error") public class ErrorPageController { @RequestMapping("/999") public Request toPage999() { HttpStatus status = HttpStatus.valueOf(404); return Request.error(status.getReasonPhrase(), status.value()); } @RequestMapping("/404") public Request toPage404() { HttpStatus status = HttpStatus.valueOf(404); return Request.error(status.getReasonPhrase(), status.value()); } @RequestMapping("/500") public Request toPage500() { HttpStatus status = HttpStatus.valueOf(500); return Request.error(status.getReasonPhrase(), status.value()); } }
Violet_Ice 紫冰,一個忙於工作,沒有時間錄視頻的 UP
問題已解決
public class ErrorPageController implements ErrorController { ... @Override public String getErrorPath() { return "/error/404"; } }
最后注意:光理論是不夠的。這里順便送大家一套2020最新JAVA架構項目實戰教程及大廠面試題庫,進我扣裙 :七吧傘吧零而衣零傘 (數字的諧音)轉換下可以找到了,里面很多新JAVA架構項目,還有可以跟老司機交流
本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理