과제/과제
항해99 주특기 입문 과제 (JAVA) 2. 나만의 블로그 만들기 (2) 서버 연결
aihtnyc_h
2023. 2. 7. 19:33
728x90
반응형
SMALL
- 메인페이지 서버 만들기
@GetMapping("/")
public List<Blog> getBlog() {
return blogService.getBlog();
}
- 게시글 조회하기 서버 만들기
@GetMapping("/api/blog")
public List<Blog> getBlog(@PathVariable Long id) {
return BlogService.getBlog();
}
@Transactional(readOnly = true)
public List<Blog> getBlog() {
return blogRepository.findAllByOrderByModifiedAtDesc();
}
- 게시글 생성하기 서버 만들기
@PostMapping("/api/blog")
public Blog createblog(@RequestBody BlogRequestDto requestDto) {
return BlogService.createblog(requestDto);
}
@Transactional
public BlogResponseDto createBlog(BlogRequestDto requestDto) {
Blog blog = new Blog(requestDto);
blogRepository.save(blog);
return new BlogResponseDto(blog);
- 게시글 변경하기 서버 만들기
PutMapping("/api/post/{id}")
public Long updateBlog(@PathVariable Long id, @RequestBody BlogRequestDto requestDto) {
return BlogService.updateBlog(id, requestDto);
}
@Transactional
public Long updateBlog(Long id, BlogRequestDto requestDto) {
if (!validatePassword(id, requestDto.getPassword())) { //비밀번호가 같지 않을 때 사용!
return -999L;
}
Blog blog = blogRepository.findById(id).orElseThrow(
() -> new IllegalArgumentException("아이디가 존재하지 않습니다.")
);
blog.update(requestDto);
return blog.getId();
}
- 게시글 삭제하기 서버 만들기
@DeleteMapping("/api/blog/{id}")
public Long deleteBlog(@PathVariable Long id, @RequestBody BlogRequestDto requestDto) {
return BlogService.deleteBlog(id, requestDto.getPassword());
}
@Transactional
public Long deleteBlog(Long id, String password) {
if (!validatePassword(id, password)) {
return -999L;
}
blogRepository.deleteById(id);
return id;
}
728x90
반응형
LIST