전체 글
-
[Spring Boot] RestClient, HttpInterface를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 17. 00:35
목차 HttpInterface란?Spring 6에서는 HTTP 클라이언트를 사용하기 위한 새로운 방법으로 HttpInterface를 도입하였습니다. 이는 Spring HTTP 인터페이스를 통해 직관적이고 간편한 방법으로 HTTP 요청을 수행할 수 있게 합니다. 기존의 RestTemplate이나 WebClient와 달리, HttpInterface는 인터페이스를 선언하고 이를 구현하는 방식을 사용합니다.HttpInterface는 애노테이션과 프록시(Proxy) 패턴을 활용하여 HTTP 요청을 마치 메서드 호출처럼 사용할 수 있게 해줍니다. 이는 가독성이 좋고 테스트 편리하게 만들어 줍니다. 주요 애노테이션 및 기능HTTP 메서드별 애노테이션@HttpExchange : HTTP 인터페이스와 그 요청에 적용할..
-
[Spring Boot] RestClient를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 10. 21:49
목차 RestClient란?Spring Framework 6.1 M2에서 새롭게 도입된 RestClient는 RestTemplate를 대체하는 동기식 HTTP 클라이언트입니다. 이 클라이언트는 HTTP 라이브러리에 대한 추상화를 제공하여 Java 객체를 HTTP 요청으로 쉽게 변환하고, HTTP 응답에서 객체를 생성할 수 있게 합니다. 또한, 가독성이 높은 API를 통해 간편하고 직관적인 사용성을 제공합니다. 주요 클래스와 메서드RestClient : HTTP 클라이언트를 생성하고 설정합니다.create() : 기본 설정으로 초기화된 새로운 RestClient 인스턴스를 생성합니다.builder() : 사용자 정의 설정을 통해 RestClient를 구성할 수 있는 빌더를 반환합니다.get() : HTTP..
-
[Spring Boot] RestTemplate를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 10. 21:46
목차 RestTemplate란?RestTemplate은 Spring Framework의 HTTP 클라이언트로, RESTful 웹 서비스와 상호작용하여 쉽게 HTTP 요청을 보낼 수 있도록 도와줍니다. 주요 클래스와 메서드RestTemplate : HTTP 클라이언트를 생성하고 설정합니다.getForObject() : GET 요청을 URL에 보내고, 결과를 객체로 반환합니다.getForEntity() : GET 요청을 URL에 보내고, 결과를 ResponseEntity로 반환합니다.postForObject() : POST 요청을 URL에 보내고, 결과를 객체로 반환합니다.postForEntity() : POST 요청을 URL에 보내고, 결과를 ResponseEntity로 반환합니다.put() : PUT 요..
-
[JAVA] Java 11에서 추가된 String 메서드 사용 방법Java/Collection(컬렉션) 2024. 10. 28. 22:50
목차 Java 11에서는 String 클래스에 유용한 메서드가 여러 개 추가되었습니다. 이번 문서에서는 이러한 메서드들이 무엇인지, 각 메서드의 목적과 함께 다양한 사용 예제를 통해 알아보겠습니다. 1. String.isBlank() isBlank() 메서드는 문자열이 빈 문자열이거나 공백 문자(whitespace)로만 구성되어 있는지 확인합니다. 이는 공백 유무를 쉽게 체크할 수 있게 해줍니다. @Test void testIsBlank() { String str = " "; boolean isBlank = str.isBlank(); assertTrue(isBlank, "문자열이 공백입니다"); } 이 예제에서는 공백 문자열 " "를 확인하여 isBlank() 메서드가 true를 반환하는지 테스트합니다...
-
[JAVA] 자주 사용되는 Java String 메서드Java/Collection(컬렉션) 2024. 10. 28. 22:30
목차 Java의 String 클래스에서 자주 사용되는 메서드에 대해서 다양한 사용 예제를 통해 알아보겠습니다. 1. String.length() 테스트: 문자열의 길이를 반환@Testvoid testLength() { // Given String str = "Hello"; // When int len = str.length(); // Then assertEquals(5, len, "문자열 길이가 일치합니다");}이 테스트는 문자열 "Hello"의 길이가 5인지 확인합니다. 2. String.charAt() 테스트: 특정 인덱스의 문자를 반환@Testvoid testCharAt() { // Given String str = "Hello"; // When char ch = str.charA..
-
[JAVA] HttpClient를 활용한 HTTP 요청Java/기타 2024. 10. 28. 12:55
목차 HttpClient는 Java 11에서 도입된 HTTP 클라이언트 API로, 비동기 및 동기 방식의 HTTP(S) 요청을 손쉽게 수행할 수 있게 해주는 클래스입니다. HttpClient를 사용하면 성능이 향상되고, HTTP/2 및 Web Socket을 지원하는 등 여러 가지 이점을 제공합니다. 주요 클래스와 메서드HttpClient: HTTP 클라이언트를 생성하고 설정합니다.newBuilder(): 새로운 빌더 인스턴스를 생성합니다.build(): 설정된 빌더를 사용하여 HttpClient 인스턴스를 생성합니다.send(): 동기 방식으로 HTTP 요청을 전송합니다.sendAsync(): 비동기 방식으로 HTTP 요청을 전송합니다.HttpRequest: HTTP 요청을 생성하고 설정합니다.newBu..
-
[JAVA] Optional 클래스 사용 방법Java/기타 2024. 10. 5. 08:21
목차 Java 8에서 도입된 Optional 클래스는 값이 있을 수도, 없을 수도 있는 상황을 표현하는 컨테이너 객체입니다. 이를 활용하면 null을 직접 다루는 대신 명시적으로 존재 여부를 처리할 수 있습니다. 이번 포스트에서는 Optional 클래스의 다양한 메서드를 활용한 테스트 예제를 살펴보겠습니다.주요 메서드Optional.ofNullable(T value) : 주어진 값이 null일 수 있는 경우 이 메서드를 사용하여 Optional 인스턴스를 생성할 수 있습니다. 값이 null인 경우 비어 있는 Optional을 반환합니다.Optional.orElse(T other) : Optional이 비어 있을 때 대체값을 반환합니다. 값이 존재하면 해당 값을 반환하고, 그렇지 않으면 제공한 대체값을 반..
-
[JAVA] Java 8 이전과 이후의 날짜 및 시간 비교 방법Java/기타 2024. 10. 4. 23:51
목차 Java 8은 날짜와 시간 API에 큰 변화를 가져왔습니다. Java 8 이전의 `Date`와 `Calendar` 클래스는 여러 단점이 있었으며 이를 보완하기 위해 Java 8에서는 `LocalDate`, `LocalTime`, `LocalDateTime` 같은 새로운 클래스가 도입되었습니다. 본 포스트에서는 Java 8 이전과 이후의 날짜 및 시간 비교 방법을 다양한 예제와 함께 살펴보겠습니다. Java 8 이후 클래스 LocalDate : 날짜를 나타내는 클래스입니다. 연도, 월, 일 정보를 포함하며, 시간 정보는 포함하지 않습니다. LocalTime : 시간을 나타내는 클래스입니다. 시, 분, 초 정보를 포함하며, 날짜 정보는 포함하지 않습니다. LocalDateTime : 날짜와 시간을 모두..
-
[JAVA] 컬렉션 간의 변환 방법Java/Collection(컬렉션) 2024. 10. 4. 22:53
목차 자바 프로젝트를 진행하다 보면 배열, 리스트, 셋, 맵 등의 컬렉션 타입들을 상호 변환해야 하는 경우가 자주 발생합니다. 이번 문서에서는 이러한 변환 작업을 어떻게 수행할 수 있는지에 대해 다뤄보겠습니다. 1. 배열을 List로 변환하기배열을 List로 변환할 때 가장 간단한 방법은 Arrays.asList() 메서드를 사용하는 것입니다./** * 배열을 List로 변환 * * @param array 변환할 배열 * @param 배열의 원소 타입 * @return 변환된 List */public static List arrayToList(T[] array) { return Arrays.asList(array);}단위 테스트@DisplayName("arrayToList: Integer 배열을..
-
[JAVA] 맵 검색하기Java/Collection(컬렉션) 2024. 10. 4. 15:16
목차 자바에서는 맵을 검색하는 다양한 방법이 있습니다. 이번 문서에서는 맵을 검색하는 여러 가지 방법에 대해 설명하겠습니다. 주요 메서드로는 키가 포함되어 있는지 검사, 값이 포함되어 있는지 검사, 특정 키에 연관된 값을 가져오는 방법, 특정 값에 연관된 키를 가져오는 방법, 특정 조건에 맞는 엔트리를 찾는 방법이 있습니다.1. 키가 포함되어 있는지 확인맵에 특정 키가 포함되어 있는지 확인할 때, containsKey 메서드를 사용합니다./** * 주어진 맵에 특정 키가 포함되어 있는지 확인 * * @param map 키가 포함되어 있는지 확인할 맵 * @param key 확인할 키 * @param 키의 타입 * @param 값의 타입 * @return 맵이 특정 키를 포함하고 있으면 {@code t..