스프링 부트 비활성화/오류 매핑
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
하지만 내가 때렸을 때/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"}
필요한 결과
HTTP/1.1 404 Internal Server Error
Server: Apache-Coyote/1.1
ErrorMvcAutoConfiguration을 디세블로 할 수 있습니다.
@SpringBootApplication
@EnableAutoConfiguration(exclude = {ErrorMvcAutoConfiguration.class})
public class SpringBootLauncher {
또는 Spring Boot의 application.yml/properties를 통해 다음을 수행합니다.
spring.autoconfigure.exclude: org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
이것이 선택사항이 아닌 경우 Spring의 Error Controller를 자체 구현으로 확장할 수도 있습니다.
@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;
}
주의: 위의 방법 중 하나를 사용합니다(자동 설정을 무효로 하거나 에러 컨트롤러를 실장합니다).댓글에 기재되어 있는 바와 같이 둘 다 동작하지 않습니다.
속성은 @SpringBootApplication을 통해 지정해야 합니다.Kotlin의 예:
@SpringBootApplication(exclude = [ErrorMvcAutoConfiguration::class])
class SpringBootLauncher {
제 경우 로그인 페이지 헤더에 참조된 웹 리소스에 문제가 있었습니다.구체적으로 css는 헤더에서 참조되었지만 실제로는 프로젝트에 존재하지 않았습니다.
도움이 될 만한 게 뭐가 있을까요?WebSecurityConfigurerAdapter
본문에 코멘트한 실장configure(WebSecurity web)
먼저 로그인을 시도하면 위의 오류를 표시하는 대신 브라우저의 주소 표시줄에 문제의 원인이 되는 리소스에 대한 URL이 표시됩니다.
언급URL : https://stackoverflow.com/questions/38747548/spring-boot-disable-error-mapping
'programing' 카테고리의 다른 글
셀 간격과 UICollectionView - UICollectionViewFlowLayout 크기 비율을 설정하는 방법 (0) | 2023.04.10 |
---|---|
Protocol Buffer vs Json - 하나를 선택하는 경우 (0) | 2023.04.05 |
같은 도메인에 다른 /서버를 배치하는 방법 (0) | 2023.04.05 |
요청에 대해 일부 jQuery 글로벌 Ajax 이벤트 처리기 사용 안 함 (0) | 2023.04.05 |
Java prepared Statement를 사용하여 Postgres에 JSON 개체를 삽입하려면 어떻게 해야 합니까? (0) | 2023.04.05 |