pti*_*son 18 java spring spring-mvc spring-boot
我正在使用Spring Boot创建API,因此希望禁用/error
映射.
我在application.properties中设置了以下道具:
server.error.whitelabel.enabled=false
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
Run Code Online (Sandbox Code Playgroud)
但是,当我点击时,/error
我得到:
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 03 Aug 2016 15:15:31 GMT
Connection: close
{"timestamp":1470237331487,"status":999,"error":"None","message":"No message available"}
Run Code Online (Sandbox Code Playgroud)
要求的结果
HTTP/1.1 404 Internal Server Error
Server: Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)
ale*_*xbt 35
您可以禁用ErrorMvcAutoConfiguration:
@SpringBootApplication
@EnableAutoConfiguration(exclude = {ErrorMvcAutoConfiguration.class})
public class SpringBootLauncher {
Run Code Online (Sandbox Code Playgroud)
或者通过Spring Boot的application.yml/properties:
spring.autoconfigure.exclude: org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
Run Code Online (Sandbox Code Playgroud)
如果这不适合您,您也可以使用自己的实现扩展Spring的ErrorController:
@RestController
public class MyErrorController implements ErrorController {
private static final String ERROR_MAPPING = "/error";
@RequestMapping(value = ERROR_MAPPING)
public ResponseEntity<String> error() {
return new ResponseEntity<String>(HttpStatus.NOT_FOUND);
}
@Override
public String getErrorPath() {
return ERROR_MAPPING;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
属性应通过@SpringBootApplication 指定。Kotlin 中的示例:
@SpringBootApplication(exclude = [ErrorMvcAutoConfiguration::class])
class SpringBootLauncher {
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19009 次 |
最近记录: |