日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB最简单的入门教程之五-通过Restful API访问MongoDB

發(fā)布時(shí)間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB最简单的入门教程之五-通过Restful API访问MongoDB 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)MongoDB數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的Spring boot應(yīng)用的單元測(cè)試,插入了幾條記錄到MongoDB中,并通過(guò)MongoDB Compass查看到了插入的數(shù)據(jù)。

本文我們更進(jìn)一步,通過(guò)Spring Boot構(gòu)造出Restful API,這樣可以直接在瀏覽器里通過(guò)調(diào)用Restful API對(duì)Spring Boot進(jìn)行增刪查改了。

先看效果,假設(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)?#64;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è)贛ongoDB最簡(jiǎn)單的入門(mé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 recordif(repository.findById(id)==null)return false;// do database deleterepository.deleteById(id);return true;}

本教程的完整代碼在我的github上:

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙"或者掃描下面二維碼:

總結(jié)

以上是生活随笔為你收集整理的MongoDB最简单的入门教程之五-通过Restful API访问MongoDB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。