ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [내일배움캠프] 2월 7일 화요일 TIL 회고록
    카테고리 없음 2023. 2. 7. 23:07

    오늘은 ERD와 API 명세서를 만들었다.

    ERD를 어느정도 만든 뒤 분업을 해서와이어 프레임을 만들고, API 명세서를 만들었는데 API 명세서를 만들면서 이름을 변경해야 하거나,

    뭔가 질문이 생겨 팀장님한테 물어봤다. 이렇게 하는게 맞는건지 모르겠어서 저녁을 먹은 뒤 튜터님한테 가서 물어봤다.

    API 명세서를 만들면서 url 부분을 RESTful하게 만들지 않아서 지적을 받았다. 그래도 이렇게 하면 안된다는 걸 알게되서 도움이 많이 되었다. 

    튜터님한테 상담을 받은 후 해야 할 일들을 팀장님이 적어주셨다.

     

    해야 할 일

    1. API 문서 용어 및 RESTful하게 정리
    2. 패키지 구조 설계( →아키텍쳐 설계 )
    3. 깃허브 이슈 활용하여 태스크 관리
    4. 기획서 만들기
    5. 분업 어떻게 할지

    ++ 기프트카드에 재고 넣어서 동시성 이슈도 공부할 수 있도록

    ++ 인터페이스로 기프티콘 주문에 대한 기능을 설정해두고 / 일단 지금은 쓸 수 있는 API가 없으니까 가상의 기프티콘 발송 API 구현체를 작성해서 ‘전송 완료’를 뱉어주도록 한다. 

     

    상담을 다 들은 후 팀원 한분이랑 같이 API 명세서 URL 부분을 전부 수정했다. 튜터님이 RESTful URL을 어떻게 적어야하는지 정리되어있는 블로그 링크를 주셔서 그 링크를 보며 참고해서 만들었다.

     

    간략하게 RESTful URL 설계 가이드에 적어보자면.. (나중에 기억하기 위해서..)

     

    1 URL Rules

     

    1.1 마지막에 /을 포함하지 않는다.

    나쁜 예시 :

    http://api.test.com/users/

    좋은 예시 : 

    http://api.test.com/users

     

    1.2 : _ (underbar) 대신 - (dash)를 사용한다.

    - (dash)에 사용도 최소한으로 설계한다. 정확한 의미나 표현을 위해 단어의 결합이 불가피한 경우 반드시 -(dash)를 사용한다.

    나쁜 예시 :

    http://api.test.com/users/post_commnets

    좋은 예시 : 

    http://api.test.com/users/post-commnets

     

    1.3 : 소문자를 사용한다.

    나쁜 예시 :

    http://api.test.com/users/postCommnets

    좋은 예시 :

    http://api.test.com/users/post-commnets

     

    1.4 : 행위(method)는 URL에 포함하지 않는다.

    나쁜 예시 :

    POST http://api.test.com/users/1/delete-post/1

    좋은 예시 :

    DELETE http://api.test.com/users/1/posts/1

    API 명세서를 만들때 유저 회원 탈퇴나 게시글 삭제 URL을 정할때 delete를 붙여서 사용했었는데 이제 사용하면 안된다는 것을 알게되었다.

     

    1.5 컨트롤 자원을 의미하는 URL은 예외적으로 동사를 허용한다.

    함수처럼, 컨트롤 리소스를 나타내는 URL은 동작을 포함하는 이름을 짓는다.

    나쁜 예시 :

    http://api.test.com/posts/duplicating

    좋은 예시 :

    http://api.test.com/posts/duplicate

     

    추가로 URL을 정할때 꼭 s를 붙이자!!

    질문 게시글 작성 URL 을 만들때에는

    /api/question-board

    이렇게 말고

    /api/question-boards

    이렇게 지어야 RESTful한 URL이다.

     

    또, 게시글을 수정 할 때에도

    /api/question-board/{Id}

    가 아닌

    /api/question-boards/{Id}

    로 적어야한다. board , boards 차이이다.

     

    또 처음에 내가 실수했었던

    /api/boards/question/{questionId}/1

    이렇게 지으면 안된다는 것을 알았다. questionId는 id로 바꿔야하고, boards/question은 question-boards로 바꿔야 한다.

    이번 상담을 받고 api를 어떻게 RESTful하게 적어야 하는지 알게되었다. 다음부터는 URL을 만들때 꼭 RESTful하게 적으려고 노력해야겠다!

Designed by Tistory.