Closed seokjin8678 closed 11 months ago
17 files 17 suites 2s :stopwatch: 46 tests 46 :white_check_mark: 0 :zzz: 0 :x: 58 runs 58 :white_check_mark: 0 :zzz: 0 :x:
Results for commit dfcfb3f1.
저는 TranslateProgression
도 마음에 듭니다!
도메인 용어는 정해주시는 대로 따라가겠습니다! 헤헤
관련 이슈
PR 세부 내용
번역 도메인의 API와 엔티티를 우선 설계했습니다.
엔티티
번역 요청을 비동기로 처리하기 위해 엔티티의 이름을
TranslateProgression
로 하였습니다.TranslateProgression
을 한글로 풀어서 표현한다면번역 진행 상태
가 어울릴 것 같은데, 어떤 이름으로 부르는게 좋을까요..?또한 뉴스가 중복으로 번역되는 것을 막기 위해
newsId
,destinationLanguage
를 복합 유니크 인덱스로 설정하였습니다.message
컬럼은 번역에 실패했을 때 어떤 사유로 번역에 실패했는지 알려주기 위한 컬럼이라고 보시면 됩니다. (타임아웃, 연결 실패, 비용 초과 등)translationStatus
컬럼으로 번역의 상태를 나타내었습니다. (진행중
,완료
,에러
) 에러 보다는 실패(failure)로 할 걸 그랬나 싶네요. 😂번역 재요청을 하려면 번역의 상태가 실패일때만 진행할 수 있게 비즈니스 로직을 작성할 수 있을 것 같습니다!
API
/api/v1/translation/{newsId}
URI로 번역할 언어(destinationLanguage)를 Body에 담아 POST 요청을 보내면 번역 진행 상태의 식별자를 반환합니다. 이때 응답은 200 OK가 아닌, 201 CREATE로 하였습니다. (새로운 자원이 생성되므로)/api/v1/translation/{translateProgressionId}
에 GET 요청을 보내면, 번역 진행 상태의 정보를 반환합니다.결론은 번역 요청을 보내는 기능을 구현하기 전에 도메인 용어부터 확실하게 정하고 가면 좋을 것 같습니다!