經過前面四篇的學習,咱們已經在本地安裝了一個MongoDB數據庫,而且經過一個簡單的Spring boot應用的單元測試,插入了幾條記錄到MongoDB中,並經過MongoDB Compass查看到了插入的數據。html
MongoDB最簡單的入門教程之二 使用nodejs訪問MongoDBnode
MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB裏插入數據git
MongoDB最簡單的入門教程之四:使用Spring Boot操做MongoDBgithub
本文咱們更進一步,經過Spring Boot構造出Restful API,這樣能夠直接在瀏覽器裏經過調用Restful API對Spring Boot進行增刪查改了。數據庫
先看效果,假設我本地MongoDB的數據庫裏有一張表book,只有一條記錄,id爲1。瀏覽器
經過瀏覽器裏的這個url根據id讀取該記錄:http://localhost:8089/bookmanage/read?id=1app
記錄的建立:jsp
http://localhost:8089/bookmanage/create?id=2&name=Spring&author=Jerry單元測試
記錄的搜索:http://localhost:8089/bookmanage/search?name=*
記錄的刪除:刪除id爲2的記錄
http://localhost:8089/bookmanage/delete?id=2
下面是實現的細節。
1. 建立一個新的controller,位於文件夾src/main/java下。
這個controller加上註解@RestController。@RestController註解至關於@ResponseBody和@Controller這兩個註解提供的功能的並集。這裏有一個知識點就是,若是用註解@RestController定義一個Controller,那麼這個Controller裏的方法沒法返回jsp頁面,或者html,由於@ResponseBody註解在起做用,所以即便配置了視圖解析器 InternalResourceViewResolver也不會生效,此時返回的內容就是@RestController定義的控制器方法裏返回的內容。
2. 以讀操做爲例,經過註解@GetMapping定義了讀操做Restful API的url爲bookmanage/read。
@RequestParam定義了url:bookmanage/read後面的參數爲id或者name。讀操做最終將會使用咱們在MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB裏插入數據裏介紹的方法,即經過@Autowired注入的BookRepository實例完成對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; }
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; }
本教程的完整代碼在個人github上:
要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼: