【发布时间】:2017-10-18 12:39:43
【问题描述】:
我的移动设备上安装了一个可用的 react-native 应用。另外,我的机器上运行着一个 REST 服务器。
目标
我希望应用程序应该与 REST api 服务器通信。我正在尝试使用 REST 方法从站点获取数据。
问题/动机
我能够使用路由器的 IP 地址作为应用程序和 api 的连接。 以下是手机浏览器和我的机器/笔记本浏览器都可以访问的网址。
api浏览器调试器-ui运行在 http://192.168.254.106:8081/debugger-ui
REST 服务器运行在 http://192.168.254.106/open_social
到目前为止我做过的事情: 我使用 jsonapi(waterwheel) 代码修改了应用程序以从站点获取或更新数据。
const Waterwheel = require('waterwheel');
const waterwheel = new Waterwheel({
base: 'http://192.168.254.106/open_social',
timeout: 10000,
oauth: {
grant_type: 'password',
client_id: '2249cb82-98d8-49ea-a32b-a7cff7912a7e',
client_secret: 'admin',
username: 'admin',
password: 'n8hBtuFY8R',
scope: 'administrator'
}
})
waterwheel.jsonapi.get('node/test', {}, "1cc692b8-c37c-4ee7-942f-b2e6b8276f35")
.then(res => {
console.log(res)
console.log('Success..!')
})
.catch(err => {
console.log(err)
})
Waterwheel 是在我的应用运行npm install waterwheel时添加到node_modules 文件夹中的一个模块
我的 api 中也启用了 CORS:
cors.config:
enabled: true
allowedHeaders: ['Content-Type', 'Access-Cntrol-Allow-Headers', 'Authorization']
allowedMethods: ['POST', 'GET', 'OPTIONS', 'PATCH', 'DELETE']
allowedOrigins: ['*']
exposedHeaders: true
maxAge: false
supportsCredentials: true
清单权限也已启用
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
预期结果:当此代码添加到应用程序中时,我应该能够从 REST api 服务器获得响应。
我认为我需要解决的应用程序和 api 之间没有连接,需要帮助。
TIA
【问题讨论】:
-
似乎无法理解您的问题。任何错误输出?
-
嗨@Raymund,我更新了我的问题,希望你能明白我的意思。谢谢!
-
愚蠢的问题.. 但是您是否测试过 API 链接在您的浏览器上是否有效?
-
是的,它有效且有效。
标签: android rest react-native drupal-8