MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

i042416發表於2018-09-20

通過前面四篇的學習,我們已經在本地安裝了一個MongoDB資料庫,並且通過一個簡單的Spring boot應用的單元測試,插入了幾條記錄到MongoDB中,並通過MongoDB Compass檢視到了插入的資料。

MongoDB最簡單的入門教程之一 環境搭建

MongoDB最簡單的入門教程之二 使用nodejs訪問MongoDB

MongoDB最簡單的入門教程之三 使用Java程式碼往MongoDB裡插入資料

MongoDB最簡單的入門教程之四:使用Spring Boot操作MongoDB

本文我們更進一步,通過Spring Boot構造出Restful API,這樣可以直接在瀏覽器裡通過呼叫Restful API對Spring Boot進行增刪查改了。

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

先看效果,假設我本地MongoDB的資料庫裡有一張表book,只有一條記錄,id為1。

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

通過瀏覽器裡的這個url根據id讀取該記錄: http://localhost:8089/bookmanage/read?id=1

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

記錄的建立:

http://localhost:8089/bookmanage/create?id=2&name=Spring&author=Jerry

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

記錄的搜尋: http://localhost:8089/bookmanage/search?name=*

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

記錄的刪除:刪除id為2的記錄

http://localhost:8089/bookmanage/delete?id=2

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

下面是實現的細節。

1. 建立一個新的controller,位於資料夾src/main/java下。

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

這個controller加上註解@RestController。@RestController註解相當於@ResponseBody和@Controller這兩個註解提供的功能的並集。這裡有一個知識點就是,如果用註解@RestController定義一個Controller,那麼這個Controller裡的方法無法返回jsp頁面,或者html,因為@ResponseBody註解在起作用,因此即使配置了檢視解析器 InternalResourceViewResolver也不會生效,此時返回的內容就是@RestController定義的控制器方法裡返回的內容。

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

2. 以讀操作為例,通過註解@GetMapping定義了讀操作Restful API的url為bookmanage/read。

@RequestParam定義了url:bookmanage/read後面的引數為id或者name。讀操作最終將會使用我們在 MongoDB最簡單的入門教程之三 使用Java程式碼往MongoDB裡插入資料 裡介紹的方法,即通過@Autowired注入的BookRepository例項完成對MongoDB的操作。

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

3. 建立操作的原始碼:

@GetMapping("/bookmanage/create")public Book create(
@RequestParam(value="id", defaultValue="") String id,
@RequestParam(value="name", defaultValue="noname") String name,
@RequestParam(value="author", defaultValue="noauthor") String author
){
     Book book = repository.save(new Book(id,name,author));     return book;
}

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

4. 刪除操作的原始碼:

@GetMapping("/bookmanage/delete")public boolean delete(
@RequestParam(value="id", defaultValue="") String id
){    //if no record
     if(repository.findById(id)==null)           return false;     // do database delete
     repository.deleteById(id);    return true;
}

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

本教程的完整程式碼在我的github上:

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:


MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2214550/,如需轉載,請註明出處,否則將追究法律責任。

相關文章