ResponseStatusException에서 "trace" 필드를 삭제합니다.
스프링 컨트롤러에서는ResponseStatusException
엔티티를 찾을 수 없는 경우 다음과 같이 입력합니다.
@GetMapping("/categories/{id}")
public ResponseEntity<Category> getCategoryById(@PathVariable(value = "id") String id) {
try {
return new ResponseEntity<Category>(categoryService.findById(id), HttpStatus.OK);
} catch (CategoryNotFoundException ex) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, ex.getMessage());
}
}
그 대답은 다음과 같습니다.
{
"timestamp": "2019-02-22T12:25:29.913+0000",
"status": 404,
"error": "Not Found",
"message": "could not find category with ID: XYZ'.",
"path": "/categories/XYZ"
}
그러나 응답에는 긴 필드도 포함됩니다."trace"
네스트 예외는 예외입니다.
트레이스 필드를 제거할 방법이 있나요?
열다.application.properties
다음 행을 추가합니다.
server.error.include-stacktrace=never
종속성에 "spring-boot-devtools"가 있는 경우 "trace" 필드가 있는 것 같습니다.devtools를 제외한 후 출력에 이러한 트레이스가 표시되지 않습니다.
도움이 되길 바랍니다.
spring-boot-devtools
속성을 설정합니다.server.error.include-stacktrace
늘 그렇듯이.
devtools를 유지하면서도 트레이스를 제거할 수 있습니다.application.yml
:
server:
error:
include-stacktrace: on_trace_param
파티에 늦었다는 것은 알지만, 최근 우연히 시나리오를 발견하고 다른 솔루션으로 해결했습니다.저에게는 위의 솔루션이 모두 효과가 없었기 때문입니다.
사용법Spring-boot-devtools
, 그리고 자동으로 설정됩니다.
그래서 스택 트레이스를 오버라이드하여 억제했습니다.fillInStackTrace
다음과 같이 예외 클래스의 메서드를 사용합니다.
public class DuplicateFoundException extends RuntimeException {
@Override
public synchronized Throwable fillInStackTrace() {
return this;
}
}
ps1: 이 기사를 참조했습니다.
ps2: 다른 답변에서도 다음 권장 해결책을 시도해 볼 수 있습니다.
(내 경우는, 어느쪽도 효과가 없었다.
사용하고 있다면application.properties
file 속성 파일에 다음 행을 추가합니다.
server.error.include-stacktrace=on_trace_param
사용하고 있다면application.yml
file, yml 파일에 다음 행을 추가합니다.
server:
error:
include-stacktrace: on_trace_param
server.error.disc-stacktrace=에서 동작했습니다.ON_PARAM
on_trace_param을 시도했을 때 이클립스는 값이 유효하지 않음을 나타냈습니다.
언급URL : https://stackoverflow.com/questions/54827407/remove-trace-field-from-responsestatusexception
'programing' 카테고리의 다른 글
다중 입력 - mongoosejs (0) | 2023.02.11 |
---|---|
다른 속성을 허용하는 TypeScript 인터페이스 (0) | 2023.02.11 |
UI 그리드 열 헤더에서 정렬 메뉴 제거 (0) | 2023.02.11 |
Go에서 정렬된 키로 JSON을 생성하는 방법은 무엇입니까? (0) | 2023.02.11 |
WooCommerce에서 fragment를 강제로 업데이트 (0) | 2023.02.11 |