일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Test
- FCM
- enumSet
- proxyFactory
- ExceptionResolver
- db
- 일상
- softeer
- 2025 계획
- OS
- 소프티어
- Coputer Science
- 자바
- JPA
- Test Doulbe
- 테크쇼
- Java
- Server
- 직장인 회고
- 인프콘2023
- Spring
- Junit 5
- Test code
- mapstruct
- 갓생
- modelmapper
- MySQL
- Service 계층 테스트
- 공룡책
- 2024회고
- Today
- Total
목록Spring/Spring MVC (4)
공부내용공유

서론 현재 프로젝트에서 record를 dto로 열심히 사용중인데 처음에는 별 생각없이 아래 계층 dto로만 사용하다가 requestBody로는 왜 사용을 안하고 있었지라는 생각이 들어 코드를 바로 작성하였다. 그런데 JsonParsingError가 발생했다. requestBody 맵핑 과정 를 공부한 후라 맵핑이 안될이유가 없는데? 라고 생각을 하면서 열심히 삽질을 하여서 왜 안되는지 알게되었다. 이 글에서는 삽질 과정을 기록하기 위해 글을 작성하였다. 본론 내가 예외를 만나고 의심한 포인트들을 나열하고 간단하게 설명할 예정이다. build 처음에 jsonParsingException이 발생한 것을 보고 build tool이 intellij인지를 확인했는데 gradle이었고 그렇다면 문제없이 mappin..
서론 spring secutiry에서 mvc에 설정되어 있는 cors config를 어떻게 가져오는 알아보기 위해 코드를 뒤집어 까다가 mvc에 핵심적인 코드를 만났다. spring으로 프로젝트를 진행하면 흔하게 접하는 EnableWebMvc, WebMvcConfigurer 등등을 보았고, 이번 mvc config에 있어서 핵심적인 클래스들, 작동 방식에 대해 이 글에서 정리할 예정이다. 본론 1. @EnableWebMvc @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Documented @Import(DelegatingWebMvcConfiguration.class) public @interface EnableWebMvc { } 위처럼 작..

서론 REST API 서버를 만들면 controller의 request DTO를 한 개쯤은 만들게 되고 편한 사용을 위해 여러 어노테이션을 사용하게된다. 지금까지 “RequestBody가 DTO로 맵핑될 때 그냥 대충 기본 생성자랑 리플렉션 사용해서 만들어진다“ 정도로만 알고 있었다.. 코드 리뷰를 받다가 해당 부분 관련해서 질문을 받았는데 대답을 하지 못했고 굉장히 부끄러웠다.. 수치심을 지식으로 바꿔보자. 본론 리뷰를 받았던 코드를 임의의 예시로 구현하였다. @Getter @Builder public class request { private final String name; private final int age; private final List options; } 리뷰어님 : 어 @NoArgsC..

서론 처음에 프로젝트를 시작할때는 예외처리에 대해 깊게 고민하지 않고 비즈니스상 발생하는 Custom Exception 만 만들고 던지면 충분하겠지 라고 생각을했다. 그러나 실제 프로젝트를 진행하면서 client 개발자분은 다른 예외들을 더 많이 마주쳤고 해당 예외에 대해서는 별도의 처리가 안돼있어서 어디서 잘못된건지 알아볼 수 없는 형태였다. 예외가 터질때마다 연락을 하여 물어보는 비효율적인 방식을 개선하기 위해 위해 예외처리에 대해 알아보고 프로젝트에 적용을 하고 어떻게 더 개선할 수 있을까에 대한 고민을 글로 작성하였다. 본론 프로젝트를 진행하면서 client 개발자 분이 가장 자주 마주치는 Exception 들은 MethodArgumentNotValidException HttpMessageConv..