본문 바로가기

스프링부트4

Spring에서 XML 형식 응답 처리 방법 Spring에서 API의 응답을 일반적인 JSON 형식이 아니라 XML 형식으로 응답하는 방법에 대해 정리합니다. 1. build.gradle에 jackson-dataformat-xml 라이브러리를 추가합니다. https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml 를 참고하여 현재 프로젝트의 의존성에 맞는 버전으로 추가합니다. implementation (group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.13.3') 2. JacksonConfig 클래스를 추가합니다. @Configuration.. 2023. 12. 6.
스프링 패키지 구조(Spring Package Structure) - 계층형 vs 도메인형 주절주절,,🗣 회사 프로젝트가 기존에는 모두 계층형이었으나, 이번에 한 프로젝트를 전체 리팩토링 하면서 도메인형으로 변경하게 되었다. 이로써 이제 계층형과 도메인형도 혼합되어 존재하게 되었는데, 앞으로는 모두 도메인형으로 바꿀까? 요즘 도메인형이 더 선호되는 것 같기도 하지만, 개인적으로 무조건 도메인형이 좋다고 생각되진 않는다. 그래서 나름의 기준을 가지기 위해 간단히 정리해보았다. 패키지 구성은 크게 두 가지 유형이 있다. 1️⃣ 계층형 2️⃣ 도메인형 계층형 ex) Application.java └ /controller └ /service └ /repository 장점 해당 프로젝트에 이해가 상대적으로 낮아도 전체적인 구조를 빠르게 파악할 수 있음 단점 디렉토리에 클래스들이 너무 많이 모이게 됨 모.. 2022. 5. 14.
Jackson 라이브러리 Jackson 라이브러리 객체를 JSON 형식으로 변환해준다. 프로퍼티 즉, Getter, Setter를 기준으로 작동한다. Java의 프로퍼티는 보통 Getter와 Setter의 이름 명명 규칙으로 정해진다. Jackson의 매핑을 프로퍼티가 아닌 멤버변수로 하고 싶다면 @JsonProperty를 사용한다. public class Person { @JsonProperty("name") private String myName = "Mommoo"; } // {"name": "Mommoo"} @JsonAutoDetect로 매핑 법칙을 바꿀 수 있다. // 멤버 변수 뿐만 아니라, 기본 정책인 Getter 역시 데이터 매핑이 진행된다. @JsonAutoDetect(fiedlVisibility = JsonAut.. 2019. 10. 22.
Spring Boot에 Swagger 적용하기  Swagger - REST API 개발 시 문서를 자동으로 만들어주는 프레임워크 (*REST API: 웹에 존재하는 자원에 고유한 URI를 부여해 외부에서 플랫폼이나 언어와는 독립적으로 활용 가능한 인터페이스) - 간단한 설정으로 프로젝트에 지정한 URL들을 HTML 화면으로 확인 - API에 대한 매뉴얼 자동 생성 - Postman과 같이 API 테스트 가능 - Java, Python, Node.js 등 다양한 언어를 지원한다. Spring Boot에 Swagger 적용하기 1. 라이브러리 추가 Maven Project일 경우 pom.xml에 추가 io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 Gradle .. 2019. 7. 9.