溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何通過Restful API訪問MongoDB

發(fā)布時間:2021-12-30 10:32:06 來源:億速云 閱讀:177 作者:iii 欄目:數(shù)據(jù)庫

本篇內(nèi)容介紹了“如何通過Restful API訪問MongoDB”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

先看效果,假設(shè)我本地MongoDB的數(shù)據(jù)庫里有一張表book,只有一條記錄,id為1。

如何通過Restful API訪問MongoDB

通過瀏覽器里的這個url根據(jù)id讀取該記錄: http://localhost:8089/bookmanage/read?id=1

如何通過Restful API訪問MongoDB

記錄的創(chuàng)建:

http://localhost:8089/bookmanage/create?id=2&name=Spring&author=Jerry

如何通過Restful API訪問MongoDB

如何通過Restful API訪問MongoDB

記錄的搜索: http://localhost:8089/bookmanage/search?name=*

如何通過Restful API訪問MongoDB

記錄的刪除:刪除id為2的記錄

http://localhost:8089/bookmanage/delete?id=2

如何通過Restful API訪問MongoDB

下面是實現(xiàn)的細(xì)節(jié)。

1. 創(chuàng)建一個新的controller,位于文件夾src/main/java下。

如何通過Restful API訪問MongoDB

這個controller加上注解@RestController。@RestController注解相當(dāng)于@ResponseBody和@Controller這兩個注解提供的功能的并集。這里有一個知識點就是,如果用注解@RestController定義一個Controller,那么這個Controller里的方法無法返回jsp頁面,或者h(yuǎn)tml,因為@ResponseBody注解在起作用,因此即使配置了視圖解析器 InternalResourceViewResolver也不會生效,此時返回的內(nèi)容就是@RestController定義的控制器方法里返回的內(nèi)容。

如何通過Restful API訪問MongoDB

2. 以讀操作為例,通過注解@GetMapping定義了讀操作Restful API的url為bookmanage/read。

@RequestParam定義了url:bookmanage/read后面的參數(shù)為id或者name。讀操作最終將會使用我們在 MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)里介紹的方法,即通過@Autowired注入的BookRepository實例完成對MongoDB的操作。

如何通過Restful API訪問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;
}

如何通過Restful API訪問MongoDB

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

“如何通過Restful API訪問MongoDB”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI