共計 1574 個字符,預(yù)計需要花費 4 分鐘才能閱讀完成。
本篇內(nèi)容介紹了“如何通過 Restful API 訪問 MongoDB”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
先看效果,假設(shè)我本地 MongoDB 的數(shù)據(jù)庫里有一張表 book,只有一條記錄,id 為 1。
通過瀏覽器里的這個 url 根據(jù) id 讀取該記錄:
http://localhost:8089/bookmanage/read?id=1
記錄的創(chuàng)建:
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
下面是實現(xiàn)的細節(jié)。
1. 創(chuàng)建一個新的 controller,位于文件夾 src/main/java 下。
這個 controller 加上注解 @RestController。@RestController 注解相當(dāng)于 @ResponseBody 和 @Controller 這兩個注解提供的功能的并集。這里有一個知識點就是,如果用注解 @RestController 定義一個 Controller,那么這個 Controller 里的方法無法返回 jsp 頁面,或者 html,因為 @ResponseBody 注解在起作用,因此即使配置了視圖解析器 InternalResourceViewResolver 也不會生效,此時返回的內(nèi)容就是 @RestController 定義的控制器方法里返回的內(nèi)容。
2. 以讀操作為例,通過注解 @GetMapping 定義了讀操作 Restful API 的 url 為 bookmanage/read。
@RequestParam 定義了 url:bookmanage/read 后面的參數(shù)為 id 或者 name。讀操作最終將會使用我們在
MongoDB 最簡單的入門教程之三 使用 Java 代碼往 MongoDB 里插入數(shù)據(jù)里介紹的方法,即通過 @Autowired 注入的 BookRepository 實例完成對 MongoDB 的操作。
3. 創(chuàng)建操作的源代碼:
@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”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實用文章!