← Каталог
Spring Boot — REST API Todo
Минимальный backend: сущность, репозиторий, сервис, контроллер и конфиг H2.
spring:
h2:
console:
enabled: true
datasource:
url: jdbc:h2:mem:testdb spring:
h2:
console:
enabled: true
datasource:
url: jdbc:h2:mem:testdb @Entity
public class Todo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private boolean done;
} @Entity
public class Todo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private boolean done;
} @RestController
@RequestMapping("/api/todos")
public class TodoController {
private final TodoService service;
public TodoController(TodoService service) {
this.service = service;
}
@GetMapping
public List<Todo> list() {
return service.findAll();
}
} @RestController
@RequestMapping("/api/todos")
public class TodoController {
private final TodoService service;
public TodoController(TodoService service) {
this.service = service;
}
@GetMapping
public List<Todo> list() {
return service.findAll();
}
} public interface TodoRepository extends JpaRepository<Todo, Long> {
} public interface TodoRepository extends JpaRepository<Todo, Long> {
} @Service
public class TodoService {
private final TodoRepository repository;
public TodoService(TodoRepository repository) {
this.repository = repository;
}
public List<Todo> findAll() {
return repository.findAll();
}
} @Service
public class TodoService {
private final TodoRepository repository;
public TodoService(TodoRepository repository) {
this.repository = repository;
}
public List<Todo> findAll() {
return repository.findAll();
}
}