Java Jackson을 사용하여 XML을 JSON로 변환
1. Jackson이란 Jackson을 사용하여 JSON을 세 가지 다른 방식으로 구문 분석한다. 첫 번째이자 가장 일반적인 것은 ObjectMapper를 사용한 데이터 바인딩이다. 두 번째는 TreeTraversingParser 및 JsonNode를 사용하여 트리 데이터 구조에 매핑하는 것이다. 세...
1. Jackson이란 Jackson을 사용하여 JSON을 세 가지 다른 방식으로 구문 분석한다. 첫 번째이자 가장 일반적인 것은 ObjectMapper를 사용한 데이터 바인딩이다. 두 번째는 TreeTraversingParser 및 JsonNode를 사용하여 트리 데이터 구조에 매핑하는 것이다. 세...
1. Non-Reactive Components 헤더 단일 응답에 헤더를 설정하려면 HttpServletResponse 또는 ResponseEntity 객체를 사용할 수 있다. 반대로, 모든 응답 또는 여러 응답에 필터를 추가하려면 Filter를 구성해야 한다 . 1) HttpServletResponse 사용 HttpServletResponse 객...
1. AsyncRestTemplate AsyncRestTemplate은 URL에 액세스하고 출력을 비동기적으로 반환한다. 출력은 결과를 가져오는 get() 메소드가 있는 ListenableFuture 형식이다. AsyncRestTemplate의 두 가지 메서드 exchange() 및 Execution()에 대한 예이다. Spring 4는 요청 객체를 ...
1. XML root 노드 추가 표준 XML은 root 태그가 있다. 그러나 XML 변환시 표준 XML 형식을 따르지 않는 경우가 있다. XML을 더 읽기 쉽고 표준을 준수하도록 root 태그를 추가할 수 있다. 2. Jackson Dependency 추가 <dependency> <groupId>com.fasterxm...
1. Json 노드 추가 JsonNode 객체는 불변(immutable)하는 객체이기 때문에 변경하려면 가변 객체인 ObjectNode로 캐스팅해서 바꿔야 한다. 2. Jackson Dependency 추가 <dependency> <groupId>com.fasterxml.jackson.core</groupId>...
1. 사용하지 않는 모든 탭 닫기 ⌥ x 또는 Alt+x 에디터에 열린 탭이 너무 많을 경우 단축키 하나와 클릭 한 번만으로 해결할 수 있다. 작업 중인 탭에서 ⌥(macOS) 또는 Alt(Windows/Linux)를 누르고 x를 클릭하면 된다. 이 액션을 통해 IDE에서 사용하지 않는 모든 탭을 한 번에 닫고 현재 작업 중인 탭은 열린 상...
1. Project(프로젝트) 도구 창(또는 다른 활성 도구 창)의 크기 조정 Project(프로젝트) 도구 창은 IntelliJ IDEA에서 가장 자주 사용되는 창 중 하나이다. 이 창의 너비를 늘리거나 줄여야 하는 경우가 종종 생길 수 있다. 마우스를 사용하는 대신 Ctrl+Shift+오른쪽 방향키(Windows 또는 Linux) 또는 ⇧⌘오른쪽 ...
1. Java의 .class 버전 Java 파일이 컴파일되면 .class 파일이 생성된다. 어떤 경우에는 컴파일된 클래스 파일의 Java 릴리스 버전을 찾아야 한다. 각 Java 주요 릴리스는 생성되는 .class 파일에 대한 주요 버전을 할당한다. 이 표에서는 .class의 주 버전 번호를 해당 클래스 버전이 도입된 JDK 버전에 매핑하고 해당 버...
1. XML 외부 엔터티 공격 (XXE attack) XML 외부 엔터티 공격(XXE 공격 이라고도 함)은 외부 엔터티가 포함된 XML 데이터를 구문 분석하는 응용 프로그램에 대한 공격이다. XML 파서는 서버 파일 시스템이나 네트워크에서 외부 엔터티의 콘텐츠를 로드하므로 임의 파일 공개 또는 SSRF(서버 측 요청 위조) 취약점이 발생할 수 있다. ...
1. 노드 접근 XML DOM을 이용하면 노드 트리에 포함된 모든 노드에 접근할 수 있다. 노드 간의 관계는 다음과 같은 속성들로 정의된다. parentNode: 부모 노드 childNodes: 자식 노드 리스트 firstChild: 첫 번째 자식 노드 lastChild: 마지막 자...