php エディター Zimo が今日紹介したいのは、Spring API コントローラーです。コントローラーは、Web アプリケーションを開発する際に非常に重要な部分です。ユーザーからのリクエストを受信し、リクエストの内容に基づいて対応する操作を実行する責任があります。 Spring フレームワークは、開発者がコントローラーをより簡単に作成および管理できるようにする強力な API コントローラーを提供します。 Spring API コントローラーを使用すると、開発者はリクエストを対応する処理メソッドに簡単にマッピングし、リクエスト パラメーターを処理したり、結果を返したりすることができます。この強力なコントローラーにより、Web アプリケーションの開発がより効率的かつ信頼性の高いものになります。
このアプリケーションを開発していて、API 階層についてアドバイスが欲しいのですが、ユーザー クラスとユーザーから拡張された学生クラス、および他の 3 つのクラス (学生コード、 Studentconduite と Studentpark)、これら 3 つのクラスは Student から拡張されています。考え方は、管理者が新しい学生を追加しようとすると、新しいユーザー (主キーはユーザー クラスにあります) の追加も要求されます。ユーザーは StudentService クラスに Exists を持っており、ユーザーがまだ存在しない場合はユーザーを保存するメソッドを呼び出し、ユーザーが 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 中国語 Web サイトの他の関連記事を参照してください。