[항해99] 221130 정규 17일차 TIL

jinni·2022년 11월 30일
0

항해99

목록 보기
26/52
post-thumbnail

들어가기 앞서

오늘은 무언가를 좀 많이 얻어간? 느낌이 많이 든다. 기술 매니저님과 면담하면서 궁금했던 것들도 많이 물어보고, 항해에서 과제로 제출해야 하는 게시판 API를 포스트맨으로 서버 테스트하다 에러가 터져서 해결도 했다.. ㅋㅋ

인프런 김영한님 강의를 수강하면서 진짜 많은 것을 얻어가는 것 같다.. 빨리 결제해서 필요한 것만 쏙쏙 들어야겠다. (나중에 취직하면 회사에서...ㅎ)

회고

오늘한 일

  • 언어스터디 - 상속(자바의 정석)
  • 게시판 API 설계 완료!!
  • 인프런 스프링 입문 김영한 - 스프링 통합테스트, 순수Jdbc 수강

느낀 점

오늘은 진짜 많이 배운 날이다. 신나서 열심히 적어볼 생각이다.

🧐 메서드의 반환 타입을 내맘대로!?

API 설계하던 와중에 업데이트 로직이 성공하면, 수정된 데이터를 목록으로 보여주고 실패하면 메시지와 httpstatus를 던지고 싶었다.

그래서 메서드 반환타입 때문에 어떻게 해줘야할 지 고민하다 너무 모르겠어서 기술매니저님께 여쭤보았더니..! 이럴 땐 제네릭스를 사용하면 편하게 이용할 수 있다고 말씀해주셨다. 아직 그 개념에 대해 정확히 몰라 생각하지 못 한 거라고 위로의 말씀까지...😇 다시 한 번, 자바 공부의 중요성을 깨달음!!

그래서 주말에 제네릭스를 공부해볼 예정!!!

😤 포스트맨에서 response로 username이 null 값이 나와요!!


클라이언트의 URI를 @RequestBody를 통해 받았다. 그 후, Dto에 넣어주고 서비스 - 레포 단까지 가서 리턴해주는 과정이었다. 그래서 포스트맨을 돌려보니 클라이언트에게 응답해주는 username에 null 값이.. 아무리 눈 뜨고 찾아봐도 뭐가 잘못되지 않아서 막 계속 찾아보다가 결국 기술매니저님께..

알고보니 URI에서 넘어올 때의 데이터와 매개변수의 데이터의 키 값이 맞지 않으면 null을 뱉는다는 사실을 알려주셨다. 실제로 포스트맨에서 확인해보니 요청 값으로 uesrname 으로 요청을 보내고 있었다는 사실. 이거 실화냐고...... 이거 때문에 1시간 동안 끙끙거리다가 밥 먹어야 하는데 숟가락이 손에 잡히질 않았음..... 그래도 해결해서 기분이 좋다!!

😎 @RequestParam, @RequestBody, @PathVariable 를 골라서 써보자!

  • @RequestParam 쿼리 스트링을 받아오는 것.
  • @RequsetBody JSON 데이터를 요청 받을 때 사용.
  • @PathVariable 호출한 URI에서 각 구분자를 통해 들어오는 값을 처리. URI의 일부를 변수로 전달한다. 보통 Restful API에 많이 사용.

일단 이렇게 간단하게 어떤 식인 지만 적어놓았다. 다음에는 완전 이해를 한 뒤, 포스팅을 해보는 형식으로 진행해야겠다:)

🥰 테스트와 친해져보자!

이제 스프링을 진행하게 되는데, 여기서 우리는 테스트 코드를 작성해 로직을 테스트 해볼 수 있다. 그래서 JVM으로 진행하는 단위 테스트가 있고, 스프링 컨테이너를 띄우면서 트랜잭션까지 거는 통합 테스트가 있다.

JVM이 속도가 월등히 빠르기 때문에 단위마다 쪼개서 단위 테스트를 돌리는 것에 익숙해져보자! (물론 통합 테스트를 절대 사용하지 않는다는 것은 아님.)

나도 테스트 코드 잘 돌리는 날이 언젠가는 오겠지?😭

잘한 점

오늘 그냥 나는 너무 뿌듯함. 이해한 것도 많고 해결한 것도 많고 전체적으로 깨달음을 얻었다는 것에 너~~~무 기분이 좋은 하루인 것 같다. 물론 현재 시간은 새벽 3시40분ㅋㅋㅋ 낼 10시에 시험도 봐야함. 그래도 기특하다. 나란 녀석.

아쉬운 점

오늘 만큼은 진짜 없다.

그럼 난 이제 진짜 잔다.

profile
조금씩 천천히 꾸준하게

0개의 댓글