您好,登錄后才能下訂單哦!
本篇內容介紹了“如何通過Restful API訪問MongoDB”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
先看效果,假設我本地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; }
“如何通過Restful API訪問MongoDB”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。