共计 1574 个字符,预计需要花费 4 分钟才能阅读完成。
本篇内容介绍了“如何通过 Restful API 访问 MongoDB”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
先看效果,假设我本地 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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!