【问题标题】:How to integrate Appsync api in android如何在android中集成Appsync api
【发布时间】:2020-01-27 07:23:07
【问题描述】:

我已经提供了一个亚马逊 api 来集成。但我不知道如何使用这个 api

 mutation createTrail {
   createTruckTrailer(input:{truckId: "077",trailer:["AB22D"]}){
    result
  }
}

【问题讨论】:

    标签: amazon-web-services graphql aws-amplify aws-appsync


    【解决方案1】:

    您获得的 sn-p 是 GraphQL 查询的一个示例,它可以发送到启用 GraphQL 的终端节点,例如您获得的使用 AWS AppSync 托管的终端节点。 GraphQL 查询的结构与 REST api 调用不同;将其视为进行 REST 调用的结构化方式。请求将发送到您在上面粘贴的 POST HTTP 请求中的 ApiUrl,请求正文如下所示:

    {
        "query": "mutation createTrail {\n createTruckTrailer(input:{truckId: \"077\",trailer:[\"AB22D\"]}){\n result }\n }",
        "operationName": "createTrail",
        "variables": {}
    }
    

    但是,使用 IAM 进行身份验证需要额外的标头。来自服务器的响应将包含 JSON 格式的结果。我强烈建议您在这里花几分钟时间熟悉一下 GraphQL:https://graphql.org/learn/

    要从 Android 调用此 AppSync 端点,请查看 Amplify android 客户端,它解释了如何在此处开始(跳过第 4 步):https://aws-amplify.github.io/docs/android/start,然后设置您的客户端以使用 IAM 向您的后台:https://aws-amplify.github.io/docs/android/api#iam

    一旦您的 amplify 客户端完全设置好,您就可以按照此处的步骤进行上面显示的 GraphQL Mutation:https://aws-amplify.github.io/docs/android/api#import-sdk-and-config

    【讨论】:

      【解决方案2】:

      使用 rxJava 或协程进行改造。

      【讨论】:

      • 但这看起来甚至不是 json 结构。
      • 对于 android app 要访问 rest API,它需要端点和基本 url。您有必要的输入吗?
      • boral-iot-bt-appsync-dev-api_AWS_IAM": { "ApiUrl": "z7sirzvphfgobgf4xvj6il72s4.appsync-api.ap-southeast-2.amazonaws…", "Region": "ap-southeast-2", "AuthMode": "AWS_IAM ", "ClientDatabasePrefix": "boral-iot-bt-appsync-dev-api_AWS_IAM" } @Ashok kumar 这是他们给的
      • 我在浏览器中尝试了这个网址,但出现未经授权的错误,因为 Jason z7sirzvphfgobgf4xvj6il72s4.appsync-api.ap-southeast-2.amazonaws…
      • 您可能还需要一些 API 密钥才能访问该 url。首先尝试通过浏览器或邮递员工具获得正确的响应。一旦实现这一点,我们将有适当的输入,我们可以继续集成到应用程序中
      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      相关资源
      最近更新 更多