AWS APPSYNC如何应用aws_api_key授权

问题描述

如何申请@aws_api_key授权,我按照文档中的说明进行了申请,但仍然出现未经授权的错误

type Todo @aws_api_key @model
{
  id: ID!
  name: String!
  description: String
}

Graphql查询

query toTods {
  listTodos {
    items {
      id
      name
    }
  }
}

给了我未授权的错误,我可以通过转到APPSYNC控制台并编辑架构来获得预期的结果

type Query {
    getTodo(id: ID!): Todo
    listTodos(filter: ModelTodoFilterInput,limit: Int,nextToken: String): ModelTodoConnection
        @aws_api_key
}

type ModelTodoConnection @aws_api_key {
    items: [Todo]
    nextToken: String
}

但是,如果我做放大推子,我会放松所有这些变化。如何在父类型Todo中指定所有这些内容

解决方法

假设您在后台运行 lambda,并且该 lambda 正在调用一些 appssync API,因此您可以在该 graphql API 返回的响应类型中应用 @aws_api_key。这可以访问该 lambda 以调用该 graphql API。 例如;

type Myclass @aws_api_key {
id: ID!
name: String
students: [Student]
batch: Int
}

extend type Mutation {
   getClass(id: Int!): Myclass @aws_api_key
} 

extend type Subscription {
onGetClass: Myclass @aws_subscribe(mutations: ["getClass"])
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...