-
[개인프로젝트] 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를 만들어서 매개변수에 넣음으로써 간단하게 해결
이외에는 코드에서 그렇게 어려웠던 점은 없던 것 같다.
다만 스프링을 처음 다뤄보았기 때문에 어떤식으로 프로젝트를 진행해야할지 머릿속에서 감이 잡히지 않아
힘들었던 점이 많았다.
이번 주말에 또 개인프로젝트 나오던데 그때까지 복습 및 충실한 학습이 필요할 것 같다.
코드는 깃허브
'스파르타코딩클럽 > 스프링 개인 프로젝트 - 기본 CRUD' 카테고리의 다른 글
최종 피드백 (1) 2023.11.17 [개인프로젝트] ERD 작성 (0) 2023.11.06 [개인프로젝트] Use Case Diagram 이란? (0) 2023.11.05