· 8 years ago · Dec 27, 2016, 06:21 PM
1
2//Movie entity class
3@Entity
4@Data
5@AllArgsConstructor
6@NoArgsConstructor
7public class Movie{
8
9 @Id
10 private long movieId;
11 private String name;
12
13}
14
15//Link entity class
16@Entity
17@Data
18@AllArgsConstructor
19@NoArgsConstructor
20public class Link{
21
22 @Id
23 private long linkId;
24 private long movieId;
25 private String href;
26
27}
28
29//Make repositories
30
31//MovieRepository
32
33@Repository
34public interface MovieRepository extends CrudRepository<Movie, Serializable> {
35
36 public Movie findByMovieId(@Param("movieId") long movieId); //Spring data automatically makes sql queries based on the NAME of the function! How cool is that?! gets you one movie from it's id
37
38 @Query("select t from AccessToken t where oauth_token like :searchTerm")
39 public Iterable<Movie> findBySearch(@Param("searchTerm") String searchTerm); //gives back multiple movies so you can make a search thing
40
41}
42
43//LinkRepository
44
45
46@Repository
47public interface MovieRepository extends CrudRepository<Link, Serializable> {
48
49 public Link findByLinkId(@Param("linkId") long linkId); //get the one link from it's id
50
51 public Iterable<Link>findByMovieId(@Param("movieId") long movieId); //get all the links for a movie
52
53}
54
55//Use your repos! (in a rest controller class)
56
57@Autowired
58MovieRepository movieRepo;
59
60//located at: http://localhost/movie?movieId={idhere}"
61@RequestMapping(method = RequestMethod.GET, value = "movie"
62public ResponseEntity<?> getLinksForMovie(@RequestParam long movieId){
63 Movie movie = movieRepo.findByMovieId(movieId);
64 if(movie == null){
65 return ResponseEntity.status(HttpStatus.NOT_FOUND).body("The requested resource was not found.");
66 }
67
68 return ResponseEntity.ok(movie);
69}