사용자, 관리자 Rest API를 한 서버에서 관리할 때, URI 설계
503
投稿した質問数 5
안녕하세요.
이번에 신입 백엔드 개발자로 취업하게 되어 프로젝트를 진행 중에 해당 HTTP 강의를 듣고 궁금한 점이 생기어 올리게 되었습니다.
다름이 아니라 사용자 API와 관리자 API를 제공하는 서버가 분리되어 있지 않고 한 서버에서 모두 제공하는 형태에서 URI를 어떻게 설계해야 하는지 잘 모르겠습니다.
예를 들어, 로그인 API를 예시로 들어보자면 "/v1/api/login" 으로 만들면 깔끔한데 관리자 로그인도 들어가야해서 결국 "/v1/api/user/login", "/v1/api/admin/login" 으로 설계하게 되었는데 이게 잘 설계한 것인지 모르겠습니다...
[예시]
인증이 필요없는 API --> 기본 Path "/api/v1/..."
--> ex. /api/v1/products (상품 목록 API)
사용자 인증이 필요한 API --> 기본 Path "/api/v1/user/..."
--> ex. /api/v1/products (내 상품 목록 API)
관리자 인증이 필요한 API --> 기본 Path "/api/v1/admin/..."
--> ex. /api/v1/admin/products (모든 유저 상품 목록 API)
[궁금한 점]
사용자 API와 관리자 API를 한 서버에서 제공하는 경우에 URI를 어떤 규칙을 갖고 설계하는 게 좋은지 궁금합니다.
하나의 컨트롤러에다 인증이 필요없는 Public API, 사용자 API, 관리자 API를 모두 관리하는 게 좋은지 아니면 권한별로 컨트롤러를 쪼개서 관리하는 게 좋은 것인지 궁금합니다.
--> (하나의 컨트롤러로 관리) ex. ProductController
--> (권한 별로 쪼개서 관리) ex. PublicProductController, UserProductController, AdminProductController
回答 1
0
안녕하세요. akgkfk3님, 공식 서포터즈 코즈위버입니다.
저라면 API 별로 서브도메인을 만들어 분리할것 같습니다.
admin.Xxx.com/v1/user/.. (관리자 API)
front.Xxx.com/v1/user/... (프론트 API)
www.Xxx.com/ (일반 고객페이지)
API에 담아야 하는 내용은 보통 관리자와 프론트가 다른 경우가 많습니다. 분리해서 따로 관리하는 것이 좋아보이며, 관리자 API, 프론트 API 를 아예 다른 프로젝트로 관리하는 것도 괜찮습니다.
인텔리제이를 이용하고 계시다면 한 프로젝트 안에서 멀티 프로젝트를 구성하여 별도로 빌드 및 배포하도록 관리할 수 있습니다.
감사합니다.
rest api
0
85
1
채팅에 대해서 질문이 있습니다. ㅠㅠ
0
65
1
강사님 REST API와 GraphQL에 관하여 질문이 있습니다.
0
156
2
자꾸 Incorrect API key provided라고 뜹니다.
0
2101
1
kafka로 restAPI통신
0
867
1
서비스 계층에서 응답 객체 생성 관련 커뮤니티의 생각이 궁금합니다
0
273
1
POST 등록과 PUT 등록 차이 중 의문점
0
667
2
제대로 한게 맞는건가요?
0
382
1
restAPI의 field-selection 개념 관련 질문드립니다!
0
372
1
19강 JSON create 메서드 질문이여!!
1
540
1
세션을 사용할 수 있다면, URL를 설계할때, /member/{id} 와 같이 PathVariable를 가져갈 필요가 있을까요?
0
640
1
REST API의 URI규칙에 대해서 질문드립니다
0
554
1
리소스, URI, HTTP메서드 질문드립니다.
0
472
1
@Pathvariable에 엔티티의 식별자를 넣는 권장 방법이 있나요??
0
218
0
URI와 URL의 차이점..?이 궁금합니다.
0
452
1
모바일 앱 만들 때의 api에도 적용가능한가요?
0
273
1
jsonify 변환시 비정상적인 데이터 반환
0
385
1
게시판 데이터 저장을 @PostMapping으로 말고 @GetMapping으로 하는 방법은 어떻게 하는건가요??
0
123
0
URI, URL의 차이..?
0
809
1
restapi
0
268
1
컨트롤 URI 부분 질문드립니다.
0
304
1
안녕하세요 오류 확인 부탁드립니다
0
325
1
제로초님 질문이 하나 있습니다.
0
508
2
강사님 rest, http api 설계에 대해 궁금한점이 있습니다!
0
834
1

