본문 바로가기
Java/구현하기(Implementation)

23.06.27) Spring 나만의 Blog 구현하기

by NH_club 2023. 6. 27.
API 구현
더보기
  1. 전체 게시글 목록 조회 API
    • 제목, 작성자명, 작성 내용, 작성 날짜를 조회하기
    • 작성 날짜 기준 내림차순으로 정렬하기
  2. 게시글 작성 API
    • 제목, 작성자명, 비밀번호, 작성 내용을 저장하고
    • 저장된 게시글을 Client 로 반환하기
  3. 선택한 게시글 조회 API
    • 선택한 게시글의 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
  4. 선택한 게시글 수정 API
    • 수정을 요청할 때 수정할 데이터와 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
    • 제목, 작성자명, 작성 내용을 수정하고 수정된 게시글을 Client 로 반환하기
  5. 선택한 게시글 삭제 API
    • 삭제를 요청할 때 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
    • 선택한 게시글을 삭제하고 Client 로 성공했다는 표시 반환하기
엔터티에 특정 필드값만 조회해야 하는데 방법을 모른다.
더보기

"JPA 다중 컬럼 조회" 구글링을 해봤더니 시도할 만한 정보가 나왔다. Jpa인터페이스에 원하는 필드 값을 넣은 인터페이스 생성 후에 제너릭스 타입을 인터페이스로 설정했지만, 엔터티 객체로 변환할 수 없다는 오류가 나왔다. 방법을 찾아 보다 DTO를 여러 개 생성할 수 있다는 정보를 봤고 원하는 필드 값만 response 해주는 DTO를 하나 생성했더니 해결!

Postman으로 api를 보냈는데 406 에러가 남.
더보기

jackson 라이브러리는 객체를 JSON으로 변환할 때 객체의 getter 메서드를 사용함. 근데 내 DTO엔 getter 메소드가 없어서 변환이 안됐던거임. lombok의 @Getter 어노테이션 추가 후 해결!

contents의 값이 반환이 됐지만 데이터베이스에 값은 저장되지 않았음.
더보기

이유를 도저히 못 찾아서 챗 GPT에게 물어봤다. 

데이터베이스 연결문제였다.. application.properties의 설정을 전 프로젝트의 설정을 그대로 복붙해 왔기 때문에 database가 전 프로젝트의 데이터베이스로 연결이 되어 있었다. 그래서 아무리 요청을 보내도 내가 지금 테스트하는 데이터베이스엔 변경이 없었던 것이다... 어찌저찌.. 해결완료..

To Be Continued...