ClientHttpRequestInterceptor 인터페이스를 통해 로깅을 남기고 있었는데 비표준 Http Status 코드로 인해 개선을 하게 되면서 정리를 하였다.
ClientHttpResponse 인터페이스
close()는 며AutoCloseable에 정의한 인터페이스를 재정의한(override) 것이다.
나머지는 이름(상태코드, 숫자형태의 Raw 상태코드, 상태 문자열)의 정보를 획득한다.
AbstractClientHttpResponse 추상 클래스
getStatusCode() 를 구현해놓았고 코드는 아래와 같다.
public abstract class AbstractClientHttpResponse implements ClientHttpResponse {
@Override
public HttpStatus getStatusCode() throws IOException {
return HttpStatus.valueOf(getRawStatusCode());
}
}
클라이언트별 구현체 클래스들
Java | Apache | OkHttp3 | Netty4 | |
동기 | SimpleClientHttpResponse | HttpComponentsClientHttpResponse | OkHttp3ClientHttpResponse | N/A |
비동기 | N/A | HttpComponentsAsyncClientHttpResponse | N/A | Netty4ClientHttpResponse |
'Programing > Framework' 카테고리의 다른 글
[Spring] ServiceLocatorFactoryBean (0) | 2020.01.31 |
---|---|
[Spring] Boot 빈 의존성 사례 - Spring Integration (TCP) (0) | 2020.01.30 |
[Sonarqube] Spring 기본 테스트 (0) | 2019.12.12 |
[Spring] Bean 생성시 필드주입 시점은? (0) | 2019.10.17 |
[spring] stream 사용 예, 하지만 없어졌지... (0) | 2019.10.14 |