搜尋
首頁JavaSpring API 控制器

Spring API 控制器

Feb 10, 2024 pm 08:36 PM
spring框架

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中文網其他相關文章!

陳述
本文轉載於:stackoverflow。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。