Skip to content
Snippets Groups Projects
Commit 8065010d authored by Laurine's avatar Laurine
Browse files

finish major controller

parent e9ca6193
Branches
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
## Set up
1. Copie-colle le .env.sample en .env
2. Fait un `docker-compose up`
2. Rajoute le pluggin : https://plugins.jetbrains.com/plugin/7861-envfile
3. <img src="img-readme/img.png">
3. <img src="img-readme/img_1.png">
......
package com.takima.backskeleton.DAO;
import com.takima.backskeleton.models.Major;
import com.takima.backskeleton.models.Student;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface MajorDao extends JpaRepository<Major, Long> {
@Query("SELECT m.students FROM Major m WHERE m.id= :majorId")
List<Student> getAllStudentsFromMajor(Long majorId);
}
package com.takima.backskeleton.controllers;
import com.takima.backskeleton.models.Major;
import com.takima.backskeleton.models.Student;
import com.takima.backskeleton.services.MajorService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@CrossOrigin
@RequestMapping("majors")
@RestController
@RequiredArgsConstructor
public class MajorController {
private final MajorService majorService;
@GetMapping("")
public List<Major> findAll() {
return majorService.findAll();
}
@GetMapping("/{id}/students")
public List<Student> getStudentsOfMajor(@PathVariable Long id) {
return majorService.getStudentsOfMajor(id);
}
}
package com.takima.backskeleton.models;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import jakarta.persistence.*;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
......
......@@ -2,7 +2,6 @@ package com.takima.backskeleton.models;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.persistence.*;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
......
package com.takima.backskeleton.services;
import com.takima.backskeleton.DAO.MajorDao;
import com.takima.backskeleton.models.Major;
import com.takima.backskeleton.models.Student;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
@RequiredArgsConstructor
public class MajorService {
private final MajorDao majorDao;
public List<Major> findAll() {
Iterable<Major> it = majorDao.findAll();
List <Major> majors = new ArrayList<>();
it.forEach(majors::add);
return majors;
}
public List<Student> getStudentsOfMajor(Long id) {
return majorDao.getAllStudentsFromMajor(id);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment