本篇內(nèi)容介紹了“如何通過(guò)Restful API訪問(wèn)MongoDB”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
目前創(chuàng)新互聯(lián)建站已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、隆安網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。先看效果,假設(shè)我本地MongoDB的數(shù)據(jù)庫(kù)里有一張表book,只有一條記錄,id為1。
通過(guò)瀏覽器里的這個(gè)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
下面是實(shí)現(xiàn)的細(xì)節(jié)。
1. 創(chuàng)建一個(gè)新的controller,位于文件夾src/main/java下。
這個(gè)controller加上注解@RestController。@RestController注解相當(dāng)于@ResponseBody和@Controller這兩個(gè)注解提供的功能的并集。這里有一個(gè)知識(shí)點(diǎn)就是,如果用注解@RestController定義一個(gè)Controller,那么這個(gè)Controller里的方法無(wú)法返回jsp頁(yè)面,或者h(yuǎn)tml,因?yàn)锧ResponseBody注解在起作用,因此即使配置了視圖解析器 InternalResourceViewResolver也不會(huì)生效,此時(shí)返回的內(nèi)容就是@RestController定義的控制器方法里返回的內(nèi)容。
2. 以讀操作為例,通過(guò)注解@GetMapping定義了讀操作Restful API的url為bookmanage/read。
@RequestParam定義了url:bookmanage/read后面的參數(shù)為id或者name。讀操作最終將會(huì)使用我們?cè)? MongoDB最簡(jiǎn)單的入門教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)里介紹的方法,即通過(guò)@Autowired注入的BookRepository實(shí)例完成對(duì)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; }
“如何通過(guò)Restful API訪問(wèn)MongoDB”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!