ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개인프로젝트] API 명세 작성 및 최종제출
    스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 6. 20:16
    기능 Method URL request response 설명
    게시물 등록 POST /api/post { "index": 8,
    "userName": "_user_name",
    "password":"1234"
    "title": "updated_title",
    "content": "updated_content",
    "createdAt": "2023-11-06T18:24:25.204669",
    "modifiedAt": "2023-11-06T18:24:25.204669"
    }
    { "index": 8,
    "userName": "_user_name",
    "title": "updated_title",
    "content": "updated_content",
    "createdAt": "2023-11-06T18:24:25.204669",
    "modifiedAt": "2023-11-06T18:24:25.204669"
    }
     
    게시물
    전체 조회
    GET /api/postlist   { "index": 8, "userName": "updated_user_name", "title": "updated_title", "content": "updated_content", "createdAt": "2023-11-06T18:24:25.204669", "modifiedAt": "2023-11-06T18:24:25.204669" } 등록된 
    모든 
    게시물을
    JSON
    형태로
    출력
    특정 게시물 조회

    GET /api/post/{id}   { "index": 8, "userName": "updated_user_name", "title": "updated_title", "content": "updated_content", "createdAt": "2023-11-06T18:24:25.204669", "modifiedAt": "2023-11-06T18:24:25.204669" } ID값에
    일치하는

    게시물을
    JSON
    형태로
    출력
    게시물 수정

    PUT /api/post/update {
    "index": 8, 
    "password":"1234"
    "title" : "바꿀 내용",
    "content": "바꿀내용",
    }
    return updateRequestDto.getId();|

    가 출력되며 DB에는 변경된 상태가 저장됨.
    비밀번호 
    일치시 
    title
    content
    등이
    수정됨
    게시물 삭제 DELETE /api/post/delete {
    "index": 8, 
    "password":"1234"

    }
    return updateRequestDto.getId();
    이 출력된다면 성공적으로 삭제
    수정,삭제는 
    입력 오류시
    status code와 에러메세지가 출력됨

     

     

     

     

    코드를 작성하며 발생했던 에러 정리

     

    1. DB 테이블이 생성되지 않는다.

    설정을 제대로 했음에도 불구하고 빌드 시에 DB 테이블이 생성되지 않는 에러가 발생하였다.

    빌드를 다시 하고, 새 프로젝트를 생성해보고  여러 방법을 시도했음에도 해결되지 않았던 것의 원인은 아주 간단했다.

    변수명으로 index를 썼기 때문이다.

    자바 예약어를 쓰면 에러가 나는것은 알고있었지만 SQL과 연결했을때에는 SQL의 예약어도 사용하면 안된다는걸

    2시간씩이나 투자해서 알게 되었다.

    값비싼 수업료

     

    2. Update 메소드에 입력값을 넣어도 테이블값이 들어가지 않는 것

    이것은 코드를 땜빵으로 수정해가며 하다보니 서비스에 빈 객체가 생겨서 값이 제대로 들어가지 않아서 발생했다.

    이는 UpdateRequestDto를 만들어서 매개변수에 넣음으로써 간단하게 해결

     

     

    이외에는 코드에서 그렇게 어려웠던 점은 없던 것 같다.

    다만 스프링을 처음 다뤄보았기 때문에  어떤식으로 프로젝트를 진행해야할지 머릿속에서 감이 잡히지 않아

    힘들었던 점이 많았다.

     

     

    이번 주말에 또 개인프로젝트 나오던데 그때까지 복습 및 충실한 학습이 필요할 것 같다.

    코드는 깃허브

     

Designed by Tistory.