생각정리/항해99

[주특기 1주차] Spring 3일차

생각중임 2023. 8. 27. 20:15

Spring 과제 Level 1


API 명세서 수정

상세문서 method url request response
게시물 전체 조회 GET /api/board   {
  "id" : 1,
  "title" : "제목",
  "username" : "이름",
  "contents" : "내용",
  "password" : "비밀번호",
  "createdTime" : "2023-08-26T18:43:01.226062”,
  "modifiedTime" : "2023-08-26T18:43:01.226062”
}
게시물 선택 조회 GET /api/board/{id}   {
  "id" : 1,
  "title" : "제목",
  "username" : "이름",
  "contents" : "내용",
  "password" : "비밀번호",
  "createdTime" : "2023-08-26T18:43:01.226062”,
  "modifiedTime" : "2023-08-26T18:43:01.226062”
}
게시물 작성 POST /api/board {
  "title" : "title",
  "username" : "username",
  "contents" : "contents",
  "password" : "password",
}
{
  "id" : 1,
  "title" : "제목",
  "username" : "이름",
  "contents" : "내용",
  "password" : "비밀번호",
  "createdTime" : "2023-08-26T18:43:01.226062”,
  "modifiedTime" : "2023-08-26T18:43:01.226062”
}
게시물 수정 PUT /api/board/{id} {
  "title" : "title",
  "username" : "username",
  "contents" : "contents",
  "password" : "password"
}
{
  "id" : 1,
  "title" : "제목",
  "username" : "이름",
  "contents" : "내용",
  "password" : "비밀번호",
  "createdTime" : "2023-08-26T18:43:01.226062”,
  "modifiedTime" : "2023-08-26T18:43:01.226062”
}
게시물 삭제 DELETE /api/board/{id} {
  "password" : "password"
}
{
  "success" : "성공" or "실패"
}
선택 조회를 혼자서 잘 못 본듯하다. 예시의 선택 조회를 보니 Request가 없고 url에 그냥 id를 보내서 가져오는 거였다..
나도 API 명세서와는 다르게 구현을 하면서 Request가 없이 url에 검색조건에 검색어를 넣어서 해당 검색조건에 걸 Query Method를 이용해서 가지고 왔는데.. 이걸 url에 넣는 게 아니라 Request로 해서 받으면 될 것 같아 고치려고 조건을 다시 체크하는 도중에 보니 기능표현이 달랐다.. 이렇게 보내서 가져오는 것도 따로 처서 들고 오는 게 아니니 검색 기능이 아니라고 생각을 했는데 그게 아니었나 보다..
Response도 사용자에게 공개되는 정보가 title, username, contents, modifiedTime이라고 생각해서 그것만 보내서 보여주게 했는데 생각해 보니 이건 사용에게 보내는 게 아니라 프런트로 보내는 정보니깐 모든 정보를 보내고 프런트에서 알아서 보여주고 싶은 정보만 보여주는 게 맞는 거 같아 그냥 이것저것 해본 경험으로 치고 다시 다 수정을 해야겠다. 이후 API 명세서를 보완을 했다.
수정을 하고 게시물 정보를 보는데 수정시간이 기존에 있던 정보가 찍혀서 가는데 다음 조회 시에는 변경된 시간이 보이니 상관이 없는 건가 매니저님께 한번 물어봐야겠다.