php小编子墨今天要为大家介绍的是Spring API控制器。在开发Web应用程序时,控制器是非常重要的一部分。它负责接收来自用户的请求,并根据请求的内容执行相应的操作。Spring框架提供了强大的API控制器,可以帮助开发人员更加便捷地创建和管理控制器。通过使用Spring API控制器,开发人员可以轻松地将请求映射到相应的处理方法,并处理请求参数、返回结果等。这一功能强大的控制器使得开发Web应用程序更加高效和可靠。
问题内容
我正在开发这个应用程序,我想要一些关于 api 层次结构的建议,我有一个 user 类和一个从 user 扩展的 student 类,以及其他 3 个类(studentcode、studentconduite 和 studentpark)这 3 个类从学生扩展,其想法是,当管理员尝试添加新学生时,也会要求添加新用户(主键位于用户类中),我想检查该用户是否已存在于studentservice 类并调用保存用户的方法(如果用户尚不存在),或者检查用户是否存在于 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); }
解决方法
控制器不应包含任何业务逻辑,它们仅委托给封装所有逻辑的适当服务类。因此,定义一个服务类并将所有逻辑放入其中,并从控制器调用它。
以上是Spring API 控制器的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

记事本++7.3.1
好用且免费的代码编辑器

Dreamweaver CS6
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具