<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [toc] 默認情況下,Spring Boot提供`/error`映射,以合理的方式處理所有錯誤,并在servlet容器中注冊為“全局”錯誤頁面。 對于計算機客戶端,它會生成一個JSON響應,其中包含錯誤,HTTP狀態和異常消息的詳細信息。 對于瀏覽器客戶端,有一個“whitelabel”錯誤視圖,以HTML格式呈現相同的數據(要自定義它,添加一個解析為`error`的`View `)。 要完全替換默認行為,可以實現`ErrorController`并注冊該類型的bean定義,或者添加`ErrorAttributes`類型的bean以使用現有機制但替換內容。 >`BasicErrorController`可以用作自定義`ErrorController`的基類。 如果要為新內容類型添加處理程序,則此功能特別有用(默認情況下是專門處理`text / html`并為其他所有內容提供后備)。 為此,請繼承`BasicErrorController`,使用具有`produce`屬性的`@RequestMapping`添加公共方法,并創建新類型的bean。 > 您還可以定義使用`@ControllerAdvice`注解的類,以自定義要為特定控制器和/或異常類型返回的JSON文檔,如以下示例所示: ~~~java @ControllerAdvice(basePackageClasses = AcmeController.class) public class AcmeControllerAdvice extends ResponseEntityExceptionHandler { @ExceptionHandler(YourException.class) @ResponseBody ResponseEntity<?> handleControllerException(HttpServletRequest request, Throwable ex) { HttpStatus status = getStatus(request); return new ResponseEntity<>(new CustomErrorType(status.value(), ex.getMessage()), status); } private HttpStatus getStatus(HttpServletRequest request) { Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code"); if (statusCode == null) { return HttpStatus.INTERNAL_SERVER_ERROR; } return HttpStatus.valueOf(statusCode); } } ~~~ 在前面的示例中,如果在與`AcmeController`相同的包中定義的控制器拋出`YourException`,則使用`CustomErrorType` POJO的JSON表示而不是`ErrorAttributes`表示。 ## Custom Error Pages 如果要顯示給定狀態代碼的自定義HTML錯誤頁面,可以將文件添加到`/error`文件夾。 錯誤頁面可以是靜態HTML(即,添加到任何靜態資源文件夾下),也可以使用模板構建。 文件名應該是確切的狀態代碼或系列掩碼。 例如,要將`404`映射到靜態HTML文件,您的文件夾結構將如下所示: ~~~ src/ +- main/ +- java/ | + <source code> +- resources/ +- public/ +- error/ | +- 404.html +- <other public assets> ~~~ 要使用FreeMarker模板映射所有`5xx`錯誤,您的文件夾結構如下: ~~~ src/ +- main/ +- java/ | + <source code> +- resources/ +- templates/ +- error/ | +- 5xx.ftl +- <other templates> ~~~ 對于更復雜的映射,您還可以添加實現`ErrorViewResolver`接口的bean,如以下示例所示: ~~~ public class MyErrorViewResolver implements ErrorViewResolver { @Override public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map<String, Object> model) { // Use the request or status to optionally return a ModelAndView return ... } } ~~~ 您還可以使用常規的Spring MVC功能,例如`@ExceptionHandler`方法和`@ControllerAdvice`。 然后,`ErrorController`將獲取任何未處理的異常。 ## Mapping Error Pages outside of Spring MVC 對于不使用Spring MVC的應用程序,可以使用ErrorPageRegistrar接口直接注冊ErrorPages。 這種抽象直接與底層嵌入式servlet容器一起工作,即使你沒有Spring MVC DispatcherServlet也可以工作。 ~~~ @Bean public ErrorPageRegistrar errorPageRegistrar(){ return new MyErrorPageRegistrar(); } // ... private static class MyErrorPageRegistrar implements ErrorPageRegistrar { @Override public void registerErrorPages(ErrorPageRegistry registry) { registry.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400")); } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看