관리 콘솔 개발 시 url 구조 질문

Lv.1 무롱 (218.♡.102.105)

2024년 7월 13일 AM 06:32 · 수정됨(18:52)

조회 324 공감 0

웹 기반 시스템의 관리 콘솔 부분 모듈을 만들고 있는데요, url 구조를 어떻게 해야할지 갑자기 고민이 되네요. 처음에 잘 설계해 놔야 나중에 문제가 안 생길 것 같아서요.


지금 막힌 부분이,


get /admin/company/:id

로 접속하면 각 고유 아이디를 가진 회사의 상세 페이지로 연결되고 메소드만 post로 바꿔주면 새 회사 생성이 되는 방식입니다.


get /admin/company/new

로 접속하면 새 회사 생성을 위한 페이지(입력 폼이랑 생성 버튼이 있는 그런 페이지)를 보내주게끔 되어있는데요, 각 회사 고유 아이디는 숫자로만 이루어져 있어서 상관이 없었는데, 문제는 유저네요.

유저도 똑같이


get /admin/user/:ID

로 접속하면 해당 유저 상세 내용 페이지로 가게끔 해놓고, 이제 유저 생성 페이지를 라우팅하려는데,

get /admin/user/new

new라는 키워드를 놓고 생각해 보니 만약 유저네임이 new라면..? 이라는 가정을 하게 되네요. 물론 new라는 계정명을 시스템에서 미리 선점해두면 큰 상관은 없겠습니다만, 곰곰히 생각해 보니 이런 url 디자인은 뭔가 아니다 싶다는 생각이 드네요.

보통은 관리 콘솔 url을 어떤 식으로 많이들 설계하시나요?

댓글 (5)

  • 먹제이 Lv.1

    24.07.13 · 175.♡.28.58

    API 설계할 때 매번 고민되는 부분입니다. 저라면 해당 시스템 내에서 new라는 단어가 등록폼을 유도하는 의미로 사용했기 때문에 유저로 사용할 수 없도록 제약했을 것 같습니다.
  • 무롱 Lv.1 → 먹제이 작성자

    24.07.13 · 223.♡.27.201

    음 결국 그 방법이 가장 간단한 해결법이 되긴 하겠네요. 라우팅 우선도를 new 경로를 더 앞에 두면 해결이 되긴 하는데, 그런 식으로 예외처리를 하나 둘 하기보다는 뭔가 더 좋은 디자인이 있지 않을까 하는 생각도 들어서요. ㅎ
  • 설연청

    설연청 Lv.1

    24.07.13 · 218.♡.164.34

    /_new
    로 쓰시고 아이디 시작을 언더스코어 시작하지 않게 정규화하면 될것 같네요
  • 아이폰점보

    아이폰점보 Lv.1

    24.07.13 · 118.♡.7.201

    개인 공개 프로필 페이지로 쓰는게 아니면 사용자 id는 random number나 uuid 형태로 하고 login name이나 display name은 변경 가능하게 설계해도 될 것 같습니다.
  • 쩝쩝박사

    쩝쩝박사 Lv.1

    24.07.13 · 14.♡.68.9

    :id 대신에 view?id=blahblah 이렇게 하시는 건 어떤가요?

    새로 만드는 건 new로 하시고요

댓글을 작성하려면 이 필요합니다.