Rumah > Java > teks badan

Pengawal API musim bunga

PHPz
Lepaskan: 2024-02-10 20:36:11
ke hadapan
547 orang telah melayarinya

Editor PHP Zimo ingin memperkenalkan kepada anda hari ini pengawal API Spring. Pengawal adalah bahagian yang sangat penting apabila membangunkan aplikasi web. Ia bertanggungjawab untuk menerima permintaan daripada pengguna dan melaksanakan operasi yang sepadan berdasarkan kandungan permintaan. Rangka kerja Spring menyediakan pengawal API berkuasa yang boleh membantu pembangun mencipta dan mengurus pengawal dengan lebih mudah. Dengan menggunakan pengawal API Spring, pembangun boleh dengan mudah memetakan permintaan kepada kaedah pemprosesan yang sepadan dan mengendalikan parameter permintaan, hasil pengembalian, dsb. Pengawal berkuasa ini menjadikan pembangunan aplikasi web lebih cekap dan boleh dipercayai.

Kandungan soalan

Saya sedang membangunkan aplikasi ini dan saya ingin nasihat tentang hierarki api, saya mempunyai kelas pengguna dan kelas pelajar yang dilanjutkan daripada pengguna, dan 3 kelas lain (studentcode, studentconduite dan studentpark) 3 kelas ini melanjutkan daripada Pelajar, ideanya ialah apabila pentadbir cuba menambah pelajar baharu, ia juga akan meminta untuk menambah pengguna baharu (kunci utama adalah dalam kelas Pengguna) dan saya ingin menyemak sama ada pengguna itu sudah wujud dalam kelas perkhidmatan pelajar dan panggil kaedah pengguna simpan jika pengguna belum wujud lagi, atau untuk menyemak sama ada pengguna wujud pada tahap api.

//calling the method on StudentService:
@Service
public class StudentService {

    @Autowired
     StudentDao studentDao;
     UserDao userDao;
     UserService userService;

    public Student registerNewStudent(Student student) {
        User existingUser = userDao.findById(student.getUserName()).orElse(null);
        if (existingUser ==null) {
        userService.registerNewUser(student);
        }
        return studentDao.save(student);
    }
}


//or i check if the user exist in the api like this :

public class StudentController {
    @Autowired
    private StudentService studentService;
    private UserDao userDao;
    private UserController userController;
    
    @PostMapping({"/registerNewStudent"})
    public Student registerNewStudent(@RequestBody Student student) {
        User existingUser = userDao.findById(student.getUserName()).orElse(null);

        if (existingUser ==null) {

          
            userController.registerNewUser(student);
        }
        return studentService.registerNewStudent(student);
    }
    

}



//and this is registerNewUser methode from Userservice:

  public User registerNewUser(User user) {
        Role role = roleDao.findById("User").get();
        Set<Role> userRoles = new HashSet<>();
        userRoles.add(role);
        user.setRole(userRoles);
        user.setUserPassword(getEncodedPassword(user.getUserPassword()));

        return userDao.save(user);
    }



//and this is registerNewUser methode from UserController:

 @PostMapping({"/registerNewUser"})


    public User registerNewUser(@RequestBody User user) {
        return userService.registerNewUser(user);
    }
Salin selepas log masuk

Penyelesaian

Pengawal seharusnya tidak mengandungi sebarang logik perniagaan, mereka hanya mewakilkan kepada kelas perkhidmatan yang sesuai yang merangkumi semua logik. Jadi tentukan kelas perkhidmatan dan letakkan semua logik di dalamnya dan panggilnya dari pengawal.

Atas ialah kandungan terperinci Pengawal API musim bunga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!