Это BlogController:
package com.taskproject.blogproject.controller;
import com.taskproject.blogproject.entities.Blog;
import com.taskproject.blogproject.repositories.BlogRepository;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@Service
@RequestMapping("/blogs")
public class BlogController {
private final BlogRepository blogRepository;
public BlogController(BlogRepository blogRepository) {
this.blogRepository = blogRepository;
}
@PostMapping
public ResponseEntity createBlog(@RequestBody Blog blog) {
Blog savedBlog = blogRepository.save(blog);
return ResponseEntity.ok(savedBlog);
}
@GetMapping
public ResponseEntity getAllBlogs() {
List blogs = blogRepository.findAll();
return ResponseEntity.ok(blogs);
}
@GetMapping("/{id}")
public ResponseEntity getBlogById(@PathVariable Long id) {
return blogRepository.findById(id)
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}
@PutMapping("/{id}")
public ResponseEntity updateBlog(@PathVariable Long id, @RequestBody Blog updatedBlog) {
return blogRepository.findById(id)
.map(blog -> {
blog.setTitle(updatedBlog.getTitle());
blog.setDescription(updatedBlog.getDescription());
Blog savedBlog = blogRepository.save(blog);
return ResponseEntity.ok(savedBlog);
})
.orElse(ResponseEntity.notFound().build());
}
@DeleteMapping("/{id}")
public ResponseEntity deleteBlog(@PathVariable Long id) {
return blogRepository.findById(id)
.map(blog -> {
blogRepository.delete(blog);
return ResponseEntity.ok().build();
})
.orElse(ResponseEntity.notFound().build());
}
}
Это pom.xml:
\ \
\4.0.0\ \ \org.springframework.boot\ \spring-boot-starter-parent\ \3.2.3\ \ \
Подробнее здесь: https://stackoverflow.com/questions/781 ... endpointer