通过前面四篇的学习,我们已经在本地安装了一个MongoDB数据库,并且通过一个简单的Spring boot应用的单元测试,插入了几条记录到MongoDB中,并通过MongoDB Compass查看到了插入的数据。
MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据
MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
本文我们更进一步,通过Spring Boot构造出Restful API,这样可以直接在浏览器里通过调用Restful API对Spring Boot进行增删查改了。
先看效果,假设我本地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;
}
本教程的完整代码在我的github上:
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
laravel-restful-api-starter, 使用 Laravel 和MongoDB构建一个 RESTful API #Laravel Restful API启动程序现在查看一下 WIKI !欢迎捐赠对于代码和 doc: ) !是什么?这里启动器基于以下功能:Laravel 4.2: 使用轻...
python开发,基于flask-restful 的中小型项目,restful风格API接口开发实例,以mongodb作为数据库 python开发,基于flask-restful 的中小型项目,restful风格API接口开发实例,以mongodb作为数据库python开发,基于...
烧瓶-restful-mongodb-api 使用 Flask-restful 和 MongoDB 的 REST api安装要求: 在虚拟环境中安装需求。 pip install -r requirements.txt测试api Api 可以通过多种方式进行测试。 Python模块示例:In [1]: from ...
一个实体CRUD Restful API的简单示例。 Express + MongoDB 用于安装package.json依赖项: npm install 与您的集群变更进行连接的DB_CONNECTION在.env文件
例如,`perseus-restful-api-framework-1.17.32`目录下,可能包含如下内容: - `app.py`: 主应用文件,定义了路由和全局配置。 - `models/`: 存放数据模型,对应数据库表结构。 - `controllers/`: 控制器层,处理...
RESTful API是一种遵循REST(Representational State Transfer)架构约束的Web服务设计风格,它使得客户端和服务器之间的交互更加简单、直观。 **Flask框架** Flask是Python的一个轻量级Web应用框架,它以简洁、...
在本项目中,我们主要利用Spring Boot、MongoDB和Redis三个关键组件来构建一个高性能的RESTful API服务。下面将详细解析这些技术及其在项目中的应用。 **Spring Boot** Spring Boot是Spring框架的一个子项目,旨在...
"Node.js-一个基于koa2和mysql还有MongoDB的restfulAPI风格的node服务框架"是一个综合性的项目,涵盖了使用Node.js、Koa2构建RESTful API服务器的基本要素。它支持两种主流数据库(MySQL和MongoDB),提供自定义配置...
Node.js-Express-MongoDb-Build-a-CRUD-Rest-Api-for-beginners #初学者指南 #Mongodb 连接 #CRUD #Api 开发 #express 生成器 npm 安装猫鼬 npx express-generator 下载它 我的 nodemon 启动 使用邮递员测试 CRUD...
golang-gin-restfulAPI-example-app 一个用go语言基于Gin写的restful风格api服务程序的例子。 项目特性 基于 使用数据库 权限验证 从session里取用户的角色进行权限管理 使用自动生成api文档 将gingin的validator.v8...
bookstore, 使用 Nodejs Express和MongoDB的简单 RESTful JSON api 书店书店是一个简单的web应用程序,它包括和表达 RESTful API服务器和AngularJS的前端可以在这里找到与这个项目有关的视频教程 ...
Express REST API入门 适用于NodeJS的REST API样板,它使用以下基本实践的集合:Auth,Security,RESTful资源,API文档,Testing and Logging。 使用MongoDB作为其数据库,并使用...> docker build -t rest-api .
RESTful API-NoSQL MongoDB 推介会: 后端项目:以下使用堆栈的NodeJS,规范与Eslint和更漂亮的代码MVC概念的RESTful API。 主要软件包: Express负责创建路由,Middleware JWT负责令牌的30分钟持久性,维护用户的...
使用Traefik,Docker,Docker Compose,Fastify,JWT和Mongodb的Node.js RESTful API样板。 要求 Node.js> = 14 码头工人 Docker撰写 入门 使用docker安装软件包: docker run --rm -it \ -v ${PWD} :/usr/src/...
Node.js,Express和MongoDB项目结构这是一个基本的项目结构,可帮助您使用Express框架和MongoDB,并以基于干净的MVC架构的良好结构实践为基础,开始构建自己的RESTful Web API(适用于Android,IOS或JavaScript ...
:grinning_face_with_big_eyes: Node.js-Express-MongoDB-RESTful 在Node.js + Express + MongoDB上的简单RESTful API实现。 职务: :check_mark: 快递4.16 :check_mark: 猫鼬5.3 :check_mark: 护照0.4 :check_mark:...
在文件名为“RESTful-API-master”的压缩包中,可能包含以下内容: - `server.js`:这是主服务器文件,其中定义了Express应用和相关路由。 - `models`目录:可能包含与MongoDB交互的模型定义,如用户、文章等。 - `...
带有NodeJS和MongoDB的RESTful API 基本NodeJS和MongoDB RESTful API。 该项目允许创建,获取,更新和删除用户(具有电子邮件和密码属性)。 如果要测试代码,请按照以下步骤操作: 克隆此存储库。 安装和设置...
在这个“在Node.js,Express和MongoDB中构建和保护Restful API”的项目中,我们将深入探讨如何使用这些技术栈创建安全、高效的Web服务。首先,让我们逐一了解每个组件及其在API开发中的作用。 1. **Node.js**:Node...