在本教程中,我们将仔细看看你如何能将 Bubble和 AppMaster.假设正在开发的应用程序的前端是用Bubble ,但它与后端的工作能力原来是不够的,你想使用AppMaster 的功能。
让我们来想办法。
- 将AppMaster 作为数据库,用于Bubble
- 发送API请求到Appmaster
- 执行用户认证
- 在请求头中使用授权令牌
配置API Connector
首先,你需要创建从Bubble 发送外部API请求的可能性。 要做到这一点,你需要添加 API Connector插件。
让我们立即配置它,向AppMaster 发送一个认证请求。我们的任务是发送一个登录名和密码,以收到一个授权令牌作为回应。我们将使用默认在每个项目中创建的标准端点 - POST /auth/ (Auth: Authentication).关于它的全部信息,包括在你的项目中请求的确切地址,可以从Swagger获得。
要配置API Connector ,请点击 Add Another API按钮并设置要使用的请求参数。关键的参数是。
- 请求方法。POST
- URL。与Request URL 相同,从Swagger
- Use as. Data.在响应中,你需要接收授权令牌数据。
- Data type. JSON
- Body.其中最重要的设置是,你需要指定将发送至AppMaster 服务器的数据。同时,<>包含动态值,需要从相应的输入字段中获取。
{
"login": "<login>",
"password": "<password>"
}
填写后,你必须指定测试请求的数据(在Body parameters 中填写登录和密码值),初始化请求,并确保其工作正常,答案真的到来。
输入字段的设置
下一步是为应用程序创建一个接口。我们把自己限制在必要的最低限度。我们将需要创建3个输入字段。
- 登录
- 密码
- 授权令牌
前两个是很明显的。它们将显示用户的用户名和密码,用于认证。最感兴趣的是第三个字段--令牌的字段。令牌的值也可以手动输入,但我们的任务是使它能够从AppMaster 后台接收数据并在那里显示。
要做到这一点,需要配置初始内容值。
- Get data from an External API 在 中选择先前创建的请求(在这个例子中,它的名字是 )。API Connector AppMaster Auth Call
- 在(body) login 和(body) password 字段中,你需要从相应的输入字段中指定值
- 选择token 的值(在对请求的响应中会有很多不同的数据,但在这个例子中只有token 是感兴趣的)。
可以对结果进行测试。在登录和密码字段中输入数据时,将自动向AppMaster 后台发出请求。当数据输入正确,并且请求返回一个成功的结果时,收到的授权令牌将出现在第三个字段。
GET 向数据库提出请求
下一步是创建一个新的API请求。这一次的任务将是从数据库中获取数据。同时,由于这些数据不是免费提供的,而是只提供给授权用户的,所以情况就复杂了。
要做到这一点,你将需要在请求中添加一个特殊的头。它应该被称为Authorization ,其值应该是 "Bearer" 和之前获得的授权密钥。
让我们在实践中做一下。你需要回到API Connector 插件,并创建一个新的API请求。在截图上的例子中,这是对餐厅数据库的调用,以获得一个菜品清单并创建一个菜单。
与之前请求的一个重要区别是,没有使用参数(尽管也可以添加),而是使用了一个头。
- Key = Authorization
- Value = Bearer {authorization token}(为了初始化请求,你必须立即指定你之前收到的真正的令牌)
请注意,在头的设置中,你必须取消勾选Private ,否则,将无法动态生成。最后,别忘了初始化请求,并确保它能正常工作。
Repeating Group 设置
现在我们应该回到设计器中,添加一个新的重复组元素,并对其进行设置。
- Type of content- 请求的数据 AppMaster Get Data.
- Data source- 重要的是,要正确指定 Authorization标头是很重要的。它由两部分组成。第一个常数是".Bearer."第二个变量必须包含一个授权令牌,并取自相应的输入字段。
如果一切操作正确,那么数据就会被接收,只剩下最后一步了--你需要显示它们。要做到这一点,你可以添加两个文本字段到 Repeating Group并对其进行自定义。一个将显示菜肴的名称,第二个将显示其价格。
你可以打开生成的应用程序,验证Bubble 和AppMaster 的整合是否成功。前台是在Bubble.io ,而与后台有关的一切都由AppMaster.io 。
- 正在进行用户认证
- 收到的授权令牌被显示出来
- 与数据库的工作正在进行中
- 显示仅对授权用户可用的数据