下午好
不久前,需要通过
REST请求在与服务器API的android应用程序通信中实现。 由于存在方便和简单的
Retrofit库,因此在android上实现软件部分并不困难。 但是,已经向现有的开放API(例如Github和其他标准Retrofit示例)编写了一些GET / POST请求,因此有必要开始测试应用程序逻辑。 当然,在这种情况下,我想拥有自己的服务器,该服务器包含其数据模型并在模型之间具有互连性,以及对特定数据模型的各种访问级别。 在本文中,我想告诉您如何通过几个小步骤创建本地服务器,添加必要的模型,配置它们之间的关系以及提供对该服务器的远程访问。
我想立即澄清一下,以免引起读者的误解:
我以及本文的目标读者都是服务器部分实现的初学者,由于偶然,我陷入了被迫尽快提高api以便自己测试android应用程序的情况。 这篇文章中介绍的所有信息都可以在google和youtube的开放空间中找到,如果您知道要查找的内容,将其找到并组装成一个整体就不会很困难。 但是,这需要时间来制定技术实施决策,以及为每个特定决策搜索信息。
1. NodeJS和环回
您需要立即阐明的第一件事是,将使用Lodeback Node.js框架实现服务器。 首先,安装Node.js本身。 Node.js的最新版本位于
nodejs.org/en/download网站
上 ,下载并安装。
之后,运行命令行并输入以下命令,然后等待过程结束:
npm install -g loopback-cli
2.创建一个应用程序
要为
Loopback框架创建一个新的应用程序(您的服务器),请转到服务器在命令行上的目录,输入
lb命令并回答有关该应用程序的许多问题,包括:
- 应用程序名称(在我的情况下为test_server)
- 项目的目录名称(保留空白,然后将在此目录中创建一个包含项目名称的文件夹)
- LoopBack版本(选择当前版本)
- 应用程序的类型(通常来说-应用程序模板。选择api服务器)

完成创建应用程序的过程后,转到包含应用程序文件的已创建文件夹,然后尝试使用以下命令运行它:
node .
该应用程序在以下本地地址上运行:
localhost:3000 / explorer 。 此外,该应用程序已经具有用户模型和许多REST功能。

正式而言,您的服务器已准备就绪,可以成功处理本地请求。 您可以使用
Postman应用程序或android应用程序检查服务器的可用性和操作。
3.模型和关系
接下来,您需要使用数据及其之间的关系来创建模型。 考虑一个简单的模型和关系示例:假设我们的应用程序提供了有关电影的反馈。 您输入电影的名称,并且应该收到该特定电影的所有评论。 因此,在最原始的情况下,应将两个模型存储在数据库中:
电影 (具有字段:名称,年份)和
审阅 (作者,描述)。 模型之间的关系如下,一部电影可以有很多评论。
因此,对电影的REST请求将具有这样的
本地主机:3000 / api /电影链接,以及
本地主机:3000 / api /电影/ {id} /评论列表中的评论
在服务器上创建以下两个模型:
lb model
我们将回答有关模型的以下问题:
- 型号名称(例如电影)
- 用于连接的数据源(选择数据库(内存))
- 模型的基类(选择PersistedModel)
- 使用REST API显示模型(是)
- 自定义复数形式(保留空白)
- 仅限普通型号或服务器(选择通用)
现在创建了模型,您需要向其中添加字段(例如,对于电影,名称和年份):
- 属性名称(例如名称)
- 属性类型(例如字符串)
- 是强制性的(是)
- 使用REST API显示模型(是)
- 默认值(留空)

添加完所有属性后,看到要添加一个以上的报价,只需按“ Enter”。 还要添加第二个模型。
现在,您需要配置它们之间的关系。 我们成立一个团队并回答以下问题:
lb relation
- 选择一个模型来创建关系(例如电影)
- 连接类型(选择多(一对多),因为一部电影有很多评论)
- 选择一种关系模型(在我们的示例中为“评论”)
- 通讯名称(任何,我都会写评论)
- 用户密钥(保留空白)
- 中间型号(否)
- 允许嵌套(否)
- 从以下连接的对象断开通信(否)

仅此而已。 现在,使用与以前相同的命令启动服务器,并查看
localhost:3000 / explorer 。 我们看到我们有模型,并且可以通过
id看到它们之间的关系。

4.远程访问服务器
现在,只能通过家庭网络访问服务器,这在通过电话进行测试时并不十分方便。 让我们尝试使您的服务器成为远程服务器。 为此,请下载
ngrok ,在任何方便的地方解压缩并启动它。 该程序旨在为您的
localhost:3000创建一个隧道,以使用生成的链接为其创建远程访问。 在ngrok中输入以下命令:
npm install ngrok -g ngrok http 3000

我们看到该程序已经创建了一个隧道,现在可以通过提供的链接使用您的服务器。 请记住,每次重新启动PC时,ngrok中的链接都会更改。
结论
上面简要介绍了创建简单的NodeJs服务器以测试您的android应用程序的过程。 自然,即使我描述了这四个步骤,也有许多细微差别。
除了我已经描述的内容之外,仅需一个命令即可更改对api的访问级别并组织用户身份验证。 如果有人感兴趣-在评论中提问-我会回答。 该框架本身具有相当详细的
文档 ,包括翻译成俄语的开始章节(尽管版本2.0具有一组不同的命令)
是的,它是原始的,在技术上有些愚蠢,在某些地方太简单了,但是对于不涉及服务器技术并且需要快速解决方案来测试其主要任务的人员而言,该解决方案将尽可能简单,快速。