42Seoul-Tea42 / backend

1 stars 0 forks source link

REST API 관련 수정 사항 건의 #14

Open JaeJunday opened 3 months ago

JaeJunday commented 3 months ago

https://docs.google.com/spreadsheets/d/1o-3WpNF1SMgPLtDe29fVpsq7rLzhxnLBhZBBvMAf3IU/edit#gid=555504430

tea42 문서에서 볼 수 있는 API의 수정방향에 대해서 건의합니다.

@OZestina

응답을 줄때 프론트에서 보내주는 데이터가 필요한경우는 POST로, 그렇지 않아도 응답할 수 있는 API는 GET으로 작성되어 있습니다.

예시)

Screen Shot 2024-03-22 at 8 54 43 AM

수정방향 건의

GET /user/search ? min_age=int & max_age: int & distance: int & tags: [int] & fame: float

검색의 필터링을 위한 API를 사용할 때 query string을 사용한 방식이 좀 더 적절해 보입니다.

OZestina commented 3 months ago

제안 감사합니다.

말씀하신 대로 FE에서 데이터를 보내는 경우에는 BE에서 생성한 해시값인 를 제외하고 모두 POST로 설계해 두었는데요, 굳이 POST로 처리가 필요 없는 부분은 GET으로 변경하는 것도 좋아보입니다.

상기 두 개의 기준으로 추가로 수정해도 되는 API를 추려봤습니다.

  1. 이메일 중복 확인 | /user/checkEmail
  2. ID 중복 확인 | /user/checkId
  3. 유저 검색 | /user/search
  4. email로 ID 찾기 | /user/loginId

이 외에 추가 및 제외해야 하는 부분이 있는지 체크 부탁합니다.

JaeJunday commented 3 months ago

늦게 확인해서 미안합니다. 추가로 수정할 만한 부분입니다.

endpoint method
/user/getEmail get

restful 까진 안 챙기더라도 emailaddress | get 이런식으로 이름만 수정해봐도 괜찮을 것 같습니다. 전체적으로 stateless하게 만드려면 api를 싹 갈아엎어야 해서 우리 프로젝트의 목적과 부합하진 않은것 같습니다. 사실 이름도 안바꾸어도 괜찮습니다.

JaeJunday commented 3 months ago
endpoint method
/user/getPicture post

우리의 getPicture가 Post였던건에 대하여 ... GET / user/picture ?id=''" 형태의 수정을 건의합니다.

JaeJunday commented 3 months ago
endpoint method
/history/checkFancy post
/history/view post

둘다 똑같이 fancy list 와 history list를 요청하는 api입니다.

GET / fancy / ?breakpoint="Date.toString" GET / history ?breakpoint="Date.toString" 형식으로의 수정을 건의합니다.

JaeJunday commented 3 months ago
endpoint method
/user/registerEmail/ get

유저이메일의 등록을 원하는 api인데 get의 파라미터로 넘기고 있습니다. post 메서드에 body로 키값을 넘기는 방식으로 수정을 건의합니다.

JaeJunday commented 3 months ago

다른것보다 함수이름짜기가 조금 힘듭니다.

get ~ from Server()
post ~ to Server()

프론트 코드에서 위의 형식을 사용하고 있는데 메서드로 동작을 정의하는것이 아니다보니까 아래 코드처럼 ~ to ~ from을 추가로 써서 동작정의를 하고 있습니다.

get ~ from Server (서버에서 가져오기)
get ~ to Server (서버에다 저장하기)

@OZestina 시간나실때 부디 도와주십시요... 만약 메서드로 동작을 정의하게 된다면 모든 코드의 to Server 와 from Server는 자유를 맞이할 수 있을거에요. dobby is free