Spring Boot
-
[Spring Boot] MockMvc 사용 시 한글이 깨지는 현상Spring Boot/기타 2021. 8. 29. 16:33
[원인] Spring Boot 2.2.0.RELEASE 부터 MediaType.APPLICATION_JSON_UTF8 Deprecated 되어 Content-Type: application/json;charset=UTF-8 요청에 대해 Content-Type: application/json 으로 응답하여 한글이 깨지는 현상이 발생합니다. [해결 방법] MockMvc 빌드 시 CharacterEncodingFilter 추가 @Autowired private MockMvc mockMvc; @Autowired private WebApplicationContext ctx; // JUnit5(@BeforeEach), JUnit4(@Before) @BeforeEach public void setup() { this..
-
[Spring Boot] JPA 게시판 만들기(3) - JPA Auditing 설정Spring Boot/2.3.x - JPA 게시판 만들기 2020. 7. 20. 16:08
일반적으로 테이블을 설계할 때 데이터의 생성시간과 수정시간 컬럼을 포함하는데, JPA Auditing을 사용하면 생성시간과 수정시간을 자동으로 관리할 수 있습니다. 1.BaseTimeEntity 구현com.rest.api.common.domain 패키지를 생성한 후 BaseTimeEntity 클래스르 추가하세요.BaseTimeEntity.java123456789101112131415161718192021222324252627package com.rest.api.common.domain; import java.time.LocalDateTime; import javax.persistence.Column;import javax.persistence.EntityListeners;import javax.persi..
-
[Spring Boot] JPA 게시판 만들기(2) - API 테스트 코드 구현Spring Boot/2.3.x - JPA 게시판 만들기 2020. 7. 20. 15:19
@SpringBootTest와 TestRestTemplate를 사용하여 게시글을 조회, 등록, 수정, 삭제하는 API 테스트하는 코드를 구현하겠습니다. BoardControllerTest.java1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321..
-
[Spring Boot] JPA 게시판 만들기(1) - 기본 설정 및 CRUD 구현Spring Boot/2.3.x - JPA 게시판 만들기 2020. 6. 25. 11:32
Spring Data Jpa와 H2 Database를 사용하여 게시글을 조회, 등록, 수정, 삭제하는 API를 구현하겠습니다. 1.Dependency 설정pom.xml1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.1.RELEASE com.rest.api jpa-sample 1.0 jpa-sample JPA SAMPLE war 1.8 org.springframework.boo..
-
[Spring Boot] REST API 만들기(15) - Lombok 적용Spring Boot/2.4.x - REST API 만들기 2020. 6. 3. 17:55
Lombok은 DTO, VO, Entity 관련 클래스 생성 시 Getter, Setter, ToString 메서드 등 반복되는 코드를 어노테이션으로 대체하여 컴파일 시에 코드를 생성해주는 자바 라이브러리입니다. 1. 의존성 추가 pom.xml에 Lombok에 대한 의존성을 추가하세요. pom.xml 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 ..
-
[Spring Boot] REST API 만들기(14) - Swagger 적용Spring Boot/2.4.x - REST API 만들기 2020. 5. 22. 19:27
API 애플리케이션을 구현할 때 API 목록을 HTML 화면으로 문서화하기 위해 방법으로 Swagger가 있습니다. SpringBoot에서 Swagger를 사용하면, 컨트롤러에 적용된 어노테이션을 해석하여 문서화할 수 있습니다. 1. 의존성 추가 pom.xml에 Swagger에 대한 의존성을 추가하세요. pom.xml 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75..
-
[Spring Boot] REST API 만들기(13) - 예외 처리 및 테스트Spring Boot/2.4.x - REST API 만들기 2020. 5. 21. 16:48
스프링 MVC에서는 애플리케이션에서 발생하는 예외를 처리할 때는 @ExceptionHandler 어노테이션과 @ControllerAdvice 어노테이션을 사용합니다. @ExceptionHandler은 전체 애플리케이션의 예외 처리를 하지 못하기 때문에, 전체 애플리케이션의 예외 처리가 가능하고, ReponseEntity 형식을 사용할 수 있는 @ControllerAdvice 어노테이션을 이용해서 예외 처리를 하도록 하겠습니다. 1. ResourceNotFoundException.java 추가 자원을 찾을 수 없다는 예외를 처리하기 위해 com.spring.board.exception 패키지를 생성한 후 ResourceNotFoundException 클래스를 추가하세요. ResourceNotFoundExc..
-
[Spring Boot] REST API 만들기(12) - Content Negotiation 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 20. 17:46
REST에서는 하나의 리소스에 대해서 여러 형태의 Representation을 가질 수 있습니다. 어떤 요청을 처리할 때 응답을 application/json 형태로 할 수도 있고, application/xml 형태로 할 수도 있습니다. 클라이언트가 요청을 전달할 때 HTTP Header 중에서 Accept라는 이름을 이용해서 원하는 응답 형태를 명시하면, 서버에서는 클라이언트가 원하는 형태로 결과를 전달합니다. 이러한 처리 과정을 Content Negotiation이라고 합니다. 1. WebMvcConfig.java 수정 WebMvcConfigurer의 configureContentNegotiation를 이용해서 미디어 타입을 설정할 수 있습니다. WebMvcConfig.java 더보기 1 2 3 4 ..