MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB
MongoDB最簡單的入門教程之一 環境搭建
MongoDB最簡單的入門教程之二 使用nodejs訪問MongoDB
MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB裏插入數據
MongoDB最簡單的入門教程之四:使用Spring Boot操作MongoDB
本文我們更進一步,通過Spring Boot構造出Restful API,這樣可以直接在瀏覽器裏通過調用Restful API對Spring Boot進行增刪查改了。
先看效果,假設我本地MongoDB的數據庫裏有一張表book,只有一條記錄,id為1。
通過瀏覽器裏的這個url根據id讀取該記錄:http://localhost:8089/bookmanage/read?id=1
記錄的創建:
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的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:
MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB