개요 Jackson은 Java 진영의 대표적인 POJO-JSON 상호 변환 라이브러리이다. 이번 글에서는 @JsonFilter를 이용하여 POJO 오브젝트의 필드 값을 기준으로 조건에 맞는 필드만 선택적으로 JSON으로 변환하는 예를 소개하고자 한다. 라이브러리 종속성 추가 dependencies { compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.1' compile group: 'com.fasterxml.jackson.core', name: 'jacks..
클래스 레벨 Spring Web MVC의 @Controller 클래스에서 클래스 레벨에 명시 가능한 어노테이션은 아래와 같다. @ResponseBody: 모든 메써드의 리턴 오브젝트를 적절한 형태로 변환 후 HTTP 응답 메시지의 바디에 담아 반환한다. (오브젝트에서 바디로의 실제 변환은 HttpMessageConverter 인터페이스의 각 구현 클래스들이 수행한다. 예를 들면 String 리턴 타입은 StringHttpMessageConverter가 변환을 담당한다.) 클래스 레벨에 명시하면 View로의 반환을 완전히 배제하기 때문에 REST API 구현시 적합하다. @RestController: @Controller에 위에 설명한 @ResponseBody를 추가한 효과를 가진다. REST API 구현..
증상 IntelliJ IDEA에서 Gradle 기반의 프로젝트 작성시 가끔 Cannot resolve symbol ${className} 메시지가 등장할 때가 있다. 프로젝트 내 CLASSPATH에서 해당 클래스를 찾지 못하여 발생하는 것인데 External Libraries 탭을 보면 /build.gradle의 dependencies에 정의한 라이브러리들이 로드되지 않은 것을 확인할 수 있다. 해결책 File → Invalidate Caches / Restart…를 실행한다. IntelliJ IDEA를 재시작한다. 오류가 해결되었는지 확인한다. 앞의 방법으로 해결되지 않는다면 Gradle → 프로젝트명 우클릭 → Refresh external project를 클릭한다. 오류가 해결되었는지 확인한다.
Spring Web MVC의 @Controller 클래스에서 메써드의 처리 가능한 리턴 타입은 아래와 같다. String: 문자열이다. 크게 2가지로 처리가 나뉜다. @ResponseBody가 클래스 또는 메써드 레벨에 명시되어 있다면 문자열은 그대로 HTTP 응답 메시지의 Body에 담겨 반환된다. 명시되어 있지 않다면 문자열은 View의 이름으로 인식하여 사전 설정된 ViewResolver에 의해 처리된다. ?: 모든 POJO 오브젝트이다. 해당 오브젝트는 기본 값으로 JSON으로 변환되어 HTTP 응답 메시지의 Body에 담겨 반환된다.(XML 형식으로 변환하고자 할 경우 @RequestMapping의 produces 필드에 MediaType.APPLICATION_XML_VALUE을 명시한다.) R..
- Total
- Today
- Yesterday
- Spring MVC 3
- MySQL
- 평속
- JHipster
- bootstrap
- CentOS
- Docker
- java
- jstl
- Spring Boot
- 구동계
- 로드바이크
- Tomcat
- Eclipse
- jsp
- DynamoDB
- JavaScript
- Kendo UI
- 알뜰폰
- kotlin
- chrome
- 태그를 입력해 주세요.
- node.js
- maven
- spring
- jpa
- 로드 바이크
- 자전거
- Kendo UI Web Grid
- graylog
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |