묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
컨트롤러 파라미터와 DTO에 대한 질문입니다.
[질문 내용]안녕하세요. 컨트롤러 파라미터에 대해서 질문이 있습니다. 보통 컨트롤러에서 @RequestBody로 DTO를 받는데요. 개인 프로젝트를 진행하면서 ,DTO 클래스를 계속 생성하게 되면 DTO파일도 많아지는 경향이 있다고 느꼈습니다. 전달받아야 할 파라미터가 1개인 경우, DTO클래스를 생성하는 것 대신, @RequestParam 혹은 Map을 활용하는 방법이 있는데요. @RequestParam을 사용하면 옵션을 줄 수 있다는 점, 올바르지 않은게 오면 400 코드를 준다는 점 정도가 다른 점이라고 생각합니다. 둘이 큰 차이가 없다고 생각하는데, Map을 사용하는 것에 대해 부정적인 의견도 많이 있는 것 같습니다. 한 개의 파라미터를 받기 위해 어느 방법을 사용하는 것이 효율적일까요? 상황마다 다른지, 보통 어떤식으로 처리하는지 궁금합니다. 감사합니다.
-
미해결실전! 스프링 데이터 JPA
RequestBody 내부에 List가 들어가는 경우
공부하다가 이해가 안되는게 있어서 남겨봅니다. 만약 post API가 다음과 같은 RequestBody를 받도록 설계하고 싶다고 가정해보겠습니다. // Item entity { "name": "string", "type": "string", "count": 999, "infoList": ["aaa", "bbb", "cc"], "remark": "string" } 질문 1. 강의를 통해 배운 방법으로 infoList를 만든다면 Info Entity를 별도로 만든 다음Item과 Info를 Join하는 방법이 있을 것입니다.그런데 info는 문자열만 있으면 되기 때문에 굳이 뎁스가 있게 구성하고 싶지 않았습니다.Info entity 없이 단순히 Item 엔티티에 배열만 넣는 방식은 무엇이 있을까요?@ElementCollection가 있다는 것은 아는데 이것만으로도 충분한지 궁금해서 질문을 남겨봅니다. 질문 2. 만약 Info entity를 만든다고 가정하고... 위 json처럼 리스트에는 문자열만 넣을 수 있을까요?@JsonUnwrapped라는 것이 있길래 이것으로 가능할까 궁금해서 질문을 남깁니다.