[SCRUM-250] 내 코스 생성 API 구현 (#109)#110
Conversation
내 코스 생성 API에서 gpx 코스 생성 기능을 재사용하기 위해 CourseDataService.createCourseToGpx가 Course 엔티티를 반환하도록 리팩토링했습니다.
gpx, 썸네일, 시작/종료 포인트명 정보를 받아 회원의 코스를 생성하는 기능을 위한 API를 구현했습니다.
내 코스 생성의 서비스 메서드에 예외 케이스를 추가했습니다. 다음의 경우 비즈니스 예외를 발생시킵니다. - 포인트명 dto 자체가 null이거나 시작/종료 포인트명이 하나라도 null인 경우 - gpx 또는 썸네일 이미지 파일이 누락된 경우
내 코스 생성 API의 서비스 메서드를 검증하는 테스트 케이스를 구현했습니다. 테스트 케이스는 다음과 같습니다. - 내 코스 생성 성공 - 내 코스 생성 실패 (존재하지 않는 회원) - 내 코스 생성 실패 (유효하지 않은 포인트명) - 내 코스 생성 실패 (파일 누락)
내 코스 생성 API의 url을 /api/members/me/courses로 변경했습니다.
|
말씀해주신 1,2번은 내 코스 수정 API에서 처리하는 걸로 알고 있었어요! 내 코스 수정이랑 생성이 기능상 너무 비슷해서요 |
|
코스명 20글자 제한은 제가 놓친 부분이 맞습니다! 꼼꼼히 봐주셔서 감사합니다 |
|
아하 그렇군요! 그럼 생성 시에는 둘다 빈 값으로 저장되었다가 수정할 때 바뀌는걸까요? |
아뇨 빈 값은 아니고 생성할 때도 둘 다 값 받아서 정상 저장하게 해놓고 수정 API에서도 똑같은 로직 반복해서 구현해야할 것 같습니다🥲 이게 너무 복제 수준이라서ㅋㅋㅋ 고민 했었어요ㅠ 근데 방금 인경님과 얘기 나눠보니까 내 코스 생성 관련해서 인경님도 저도 의문 사항이 좀 많아서 내일 회의 때 논의사항 확정하고 코드 수정하는게 나을 것 같습니다 |
특정 좌표의 주소지를 기준으로 해당 위치가 부산 내 지역인지 판별하는 API를 구현했습니다.
지역 판별 API의 서비스 메서드에 대하여 테스트 코드를 구현했습니다. 테스트 케이스는 다음과 같습니다. - 부산 내 지역 판별 성공(true 반환) - 부산 외 지역 판별 성공(false 반환) - 카카오 API에서 주소 정보를 반환하지 않은 경우 false 반환
기존의 내 코스 생성 API의 로직을 리팩토링했습니다. 주요 변경사항은 다음과 같습니다. - 요청 DTO 생성 - 요청 파라미터의 유효성 검증 로직 추가 - 주요 메서드 분리 - 테스트 코드 수정
코스 생성 이벤트를 수신하여 즐길거리 초기화를 비동기적으로 진행하는 EventListener를 구현했습니다.
이벤트 리스너를 추가했기 때문에 내 코스 생성 테스트 코드에서 리스너가 필요한 부분을 추가하여 수정했습니다.
There was a problem hiding this comment.
요구사항에 따라 수정된 코드 확인했습니다 👍 수고하셨습니다!
저희 지난번 회의에서 내 코스 생성 API 호출 시 코스 데이터만 등록하고, 길상태와 즐길거리는 비동기로 호출하기로 했던 거 같은데, 현재 구현되어있는 createCourseToGpx에 길상태가 포함되어 있어서 현재 슬기님이 구현해주신대로 즐길거리만 그렇게 하고, 길 상태 부분은 추후에 메서드 분리로 수정하는게 좋을 거 같은데 어떻게 생각하시나요? 😢
추가적으로 인경님께서 초기화 여부에 따라 코스 응답이 달라지게 해달라고 하셔서 Enum을 추가해야 될거 같은데, 이 부분은 제가 status 추가하면 될까요?
|
|
|
아하 속도 관련은 그럴 수 있겠네요ㅋㅋ |
|
인경님이 썸네일 파일 확장자로 webp도 추가해달라고 하셔서 |
|
넵 😢 아마 |


✏️ 연관 이슈
#109
⛳ 작업 내용
CourseDataService.createCourseToGpx반환값 수정 (재사용하기 위함)💬리뷰 요구사항
📍 참고사항