Я пытаюсь отобразить данные из базы данных в приложении Spring.
<div class="container-fluid">
<h1>Welcome</h1>
<p>Some text</p>
</div>
<ul>
<!--/@thymesVar id="film" type="java.util.List<com.example.project1.accessToData.model.Film>"/-->
<li th:each ="film:${film}">
<span th:text="${film}"></span>
</li>
</ul>
public FilmIndexControler(FilmService filmService) {
this.filmService = filmService;
}
@GetMapping
String showFilms(Model model){
Iterable<Film> film = filmService.findAll();
model.addAttribute("film",film);
return "index";
}
public class Film {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotEmpty(message="Cant be empty")
private String title;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate productionYear;
private String descryption;
@NotEmpty (message="Cant be empty")
private String link}
public Iterable<Film> findAll () {
return this.filmRepository.findAll();
}
Когда я пытаюсь отобразить их на сайте, ничего, связанного с Spring, не происходит. Я не вижу фильмы в html.
@RestController
@ RequestMapping ("/ api / film") publi c class FilmApi {
private static final Logger logger = LoggerFactory.getLogger(FilmApi.class);
private final FilmManager filmManager;
@Autowired
public FilmApi(final FilmManager filmManager) {
this.filmManager = filmManager;
}
@GetMapping(value = "/lista",params = {"!sort", "!page", "!size"} )
public ResponseEntity<Iterable<Film>> getAll(){
logger.warn("Lista filmów");
return ResponseEntity.ok(this.filmManager.findAll());
}
@GetMapping
public ResponseEntity<List<Film>> findFilm(@Param("title") String title){
return ResponseEntity.ok(this.filmManager.findFilm(title));
}
@PostMapping
public ResponseEntity<Film> addFilm(@RequestBody Film film){
this.filmManager.save(film);
return ResponseEntity.noContent().build();
}
@PutMapping("/{id}")
public ResponseEntity<?> updateFilm(@PathVariable Long id,@RequestBody Film film){
if (!this.filmManager.exist(id)){
return ResponseEntity.notFound().build();
}
film.setId(id);
this.filmManager.save(film);
return ResponseEntity.noContent().build();
}
@DeleteMapping
public void deleteFilm(@RequestParam Long index){
if (!this.filmManager.exist(index)){
ResponseEntity.notFound().build();
}
this.filmManager.deleteById(index);
ResponseEntity.noContent().build();
}
}
Хорошо, я добавил контроллер api. Когда я ввожу localhostapi: 8080 / api / film / lista, отображаются все данные. Если вам еще что-нибудь понадобится, я скоро добавлю.