TIL 2021.05.24 [Spring]

Kyu·2021년 5월 24일
0

TIL

목록 보기
134/322

Spring

DTO/Entity 분리

이전 5월 21일 TIL에서 DAO 안에서 Entity를 DTO로 변환해주는 작업을 해서 거슬린다고 했다. 그래서 바로 그것부터 수정했다. 예전에 리뷰어님이 DTO/Entity를 어디에 사용하냐에 집중하기보다 그 두개를 철저히 분리하는 연습을 해라고 했었다. 아무리 생각해도 DAO 안해서 그런 작업을 해주는 건 분리를 안해준다는 느낌이 강했고 서비스단에서 해주니까 드뎌 역할이 분리된 거처럼 보였다.

PathVariable VS RequestParam

API URL 네이밍을 어떻게 해야하는 걸까..?

{{base_url}}/api/search -> 여행지 장소들을 호출하는 API
{{base_url}}/api/search?limit={number} -> 여행지 장소들을 원하는 갯수만큼 호출하는 API
{{base_url}}/api/search/{locationName} -> 여행지 장소에 따른 숙소 카드들 호출 API
{{base_url}}/api/search/detail/{id} -> 특정 숙소 상세페이지를 호출하는 API

이건 RESTful API 와 관련이 있는거 같아 찾아보니 RESTful하게 작성하려면 URL에서 정제되지 않은 데이터를 불러올때는 일반적인 파일형식의 URL을 사용하고 쿼리스트링을 사용할때는 데이터를 역순으로 가져온다던가 특정 문자열로 검색해서 가져온다거나 할때 사용한다고 한다.
다시 말하자면, RequestParam은 order, sort, search 할때 적절하고 그 외에는 PathVariable을 사용한다.

그래서 내가 고민중인걸 수정해보자면....

{{base_url}}/api/city/search -> 여행지 장소들을 호출하는 API
{{base_url}}/api/city/search?limit={number} -> 여행지 장소들을 원하는 갯수만큼 호출하는 API
{{base_url}}/api/city/search?name={placeName} -> 여행지 장소에 따른 숙소 카드들 호출 API
{{base_url}}/api/city/search/detail/{id} -> 특정 숙소 상세페이지를 호출하는 API

정도 될거 같긴한데...아직도 모르겠다. 그냥 마음편하게 PathVariable로 전부 바꾸면 안되나?

{{base_url}}/api/search
{{base_url}}/api/search/limit/{number}
{{base_url}}/api/search/name/{placeName}
{{base_url}}/api/search/detail/{id}

고민안하고 이렇게 하면 안될까? ㅎㅎㅎ 어떤 점이 문제가 있을까?

profile
TIL 남기는 공간입니다

0개의 댓글