패스 파라미터(Path Parameter)와 쿼리 파라미터(Query Parameter)는 HTTP 요청에서 서버에 데이터를 전달하는 두 가지 방식이다. 1. 패스 파라미터 (Path Parameter)URL 경로 자체에 포함되는 값특정 리소스(자원)를 식별할 때GET /users/123 // 123이 패스 파라미터다 Spring 예시@GetMapping("/users/{id}")fun getUser(@PathVariable id: Long): UserResponse { ...} 2. 쿼리 파라미터 (Query Parameter)URL의 ? 이후에 key=value 형태로 붙는 값필터링, 정렬, 검색 조건 등 리소스를 세부적으로 조회하거나 옵션을 줄 때 사용예시:GET /users?age=20&s..
data class Student(val name: String, val subjects: List)val students = listOf( Student("Kim", listOf("Math", "English")), Student("Lee", listOf("English", "Science")))val subjectToStudents = students .flatMap { student -> student.subjects.map { subject -> subject to student.name } } .groupBy({ it.first }, { it.second })println(subjectToStudents)/*{ Math=[Kim], English=[Kim, Lee], ..
테스트 더블은 수행하는 역할에 따라서 더미, 스텁, 페이크, 스파이, 목으로 분류할 수 있습니다.더미(Dummy) 는 아무런 동작도 하지 않으며, 인스턴스화된 객체만 필요한 경우에 사용됩니다.스텁(Stub) 은 구현을 단순한 것으로 대체합니다. 테스트에 맞게 단순히 원하는 동작을 수행합니다.페이크(Fake) 는 제품에는 적합하지 않지만, 실제 동작하는 구현을 제공합니다.스파이(Spy) 는 호출된 내역을 기록합니다. 기록한 내용은 테스트 결과를 검증할 때 주로 사용되며, 스텁의 일종이기도 합니다.목(Mock) 은 기대한 대로 상호작용하는지 행위를 검증합니다. 기대한 것처럼 동작하지 않는다면, 예외를 발생할 수 있습니다. 목 객체는 스텁이자 스파이기도 합니다.
Map hashMap = new HashMap(); for (String key : hashMap.keySet()) { System.out.println("key : " + key); System.out.println("value : " + hashMap.get(key));}Map hashMap = new HashMap();for (Map.Entry entry : hashMap.entrySet()) { System.out.println("key : " + entry.getKey()); System.out.println("value : " + entry.getValue());}fun main() { val myMap = mapOf("apple" to 1, ..
3. 체이닝(메서드 이어쓰기)WebClient는 빌더 패턴처럼 설계되어 있어서,리턴된 객체가 다시 새로운 기능을 이어갈 수 있게 만들어져 있어. val result = client.get() // RequestHeadersUriSpec .uri("/users") // UriSpec 객체 리턴 .retrieve() // ResponseSpec 객체 리턴 .bodyToMono(MyDto::class.java) // Mono 객체 리턴 .block() // MyDto 객체 리턴각 단계마다 “객체가 나..