1. 게시글 작성 기능
- 게시글은 제목, 내용을 포함한다.
- 게시글이 저장될 때, id(PK, primary key)도 같이 Auto-increment 형식으로 저장돼야 한다.
- 게시글 작성에 성공했을 때, 응답값으로 작성된 게시글에 대한 정보를 보여주어야 한다.
2. 게시글 전체 조회 기능
- 게시글을 조회할 때 id, 제목, 내용의 값이 포함돼야 한다.
3. 특정 게시글 조회 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 조회한다.
- 게시글을 조회할 때 id, 제목, 내용의 값이 포함돼야 한다.
4. 특정 게시글 수정 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 수정할 수 있어야 한다.
- 게시글의 제목, 내용을 수정할 수 있다.
- 게시글 수정에 성공했을 때, 응답값으로 수정된 게시글에 대한 정보를 보여주어야 한다.
5. 특정 게시글 삭제 기능
- 게시글의 id(PK, primary key)로 특정 게시글을 삭제할 수 있어야 한다.
// 기존방식은 대이터를 json형태로 직렬화하여 응답에 실어 보냈다.
@ResponseBody
@RequestMapping(value = "/camp/campListShow.kh", produces = "application/json;charset=utf-8", method = RequestMethod.GET)
public String campListShow(@ModelAttribute SearchList sList, HttpServletRequest request, HttpSession session) {
Member member = (Member) session.getAttribute("loginUser");
if (member != null)
sList.setMemberId(member.getMemberId());
CampListResponse response = new CampListResponse(
cService.printCampList(sList),
cService.printListCount(sList)
);
return new Gson().toJson(response);
}
// ResponseEntity를 사용한 방식은 ResponseBody를 적어주지 않아도 되고 코드가 훨씬 깔끔해졌다
@GetMapping("/{id}")
public ResponseEntity<PostResponseDTO> postDetails(@PathVariable Long id){
PostResponseDTO postResponseDTO = postService.findPostById(id);
return new ResponseEntity<>(postResponseDTO, HttpStatus.OK);
}
```
```