我想知道在使用 Dataloader 时如何最好地处理 GraphQL 字段参数是否有任何共识。batchFnDataloader 需要的批处理函数期望接收Array<key>并返回一个Array<Promise>,通常只调用load( parent.id )whereparent是给定字段的解析器的第一个参数。在大多数情况下,这很好,但是如果您需要为嵌套字段提供参数怎么办?
例如,假设我有一个 SQL 数据库,其中包含用于Users, 的表Books,以及一个称为BooksRead表示用户:书籍之间 1:many 关系的关系表。
我可能会运行以下查询来查看所有用户阅读的书籍:
query {
users {
id
first_name
books_read {
title
author {
name
}
year_published
}
}
}
Run Code Online (Sandbox Code Playgroud)
假设在 中有一个BooksReadLoaderavailable context,这样解析器 forbooks_read可能如下所示:
const UserResolvers = {
books_read: async function getBooksRead( user, args, context ) {
return await context.loaders.booksRead.load( user.id );
}
};
Run Code Online (Sandbox Code Playgroud)
的批处理加载函数BooksReadLoader将 …
我正在使用 FormikFieldArray将对象动态添加到数组中,当对象被添加到数组时呈现额外的表单元素push()。
我的架构如下所示:
const EMAIL_SCHEMA = Yup.object().shape({
address: Yup.string().email().required( 'E-mail address is required.' ),
isPreferredContact: Yup.boolean()
})
const SCHEMA = Yup.object().shape({
emails: Yup.array()
.of( EMAIL_SCHEMA )
.ensure()
.compact( v => !v.address )
.required( 'At least one e-mail address is required.' )
})
Run Code Online (Sandbox Code Playgroud)
对于每个电子邮件输入,都有一个相应的复选框来指示它是否是首选的联系电子邮件地址。没有电子邮件地址需要作为首选标记。
我想要做的是验证数组最多包含一个对象,其中isPreferredContactis true。如果在阵列中的3电子邮件对象和isPreferredContact是false为所有的人,这是一个有效的状态。也就是说:
let values = [
{address: '1@email.com', isPreferredContact: false},
{address: '2@email.com', isPreferredContact: false},
{address: '3@email.com', isPreferredContact: false}
] // …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 Spring Boot 应用程序作为 Docker Compose 设置中的服务之一运行,但是每当我运行docker-compose up -d容器时,运行 Spring Boot 应用程序的容器都会失败并立即退出。出于这篇文章的目的,我使用了诸如“mycontainer”和“myfile”之类的通用名称。
运行docker-compose logs core显示错误信息为:
mycontainer | Error: unable to access jarfile myjar.jar
我的 docker-compose 文件是:
version: '3.3'
services:
webapp:
image: webapp_image
container_name: webapp-container
build:
context: ./webapp
dockerfile: Dockerfile
volumes:
- './webapp:/usr/src/app'
ports:
- 3000:3000
- 35729:35729
environment:
- NODE_ENV=development
- env_file=./webapp/.env
core:
image: core_image
container_name: core-container
build:
context: ./core
dockerfile: Dockerfile
volumes:
- './core:/usr/src/core'
- './algorithms:/usr/src/algorithms'
ports:
- 8080:8080
environment:
- JARFILE=myjar.jar
- JAVA_OPTIONS=-Djava.security.egd=file:/dev/./urandom
Run Code Online (Sandbox Code Playgroud)
该 …
docker ×1
formik ×1
graphql ×1
java ×1
javascript ×1
reactjs ×1
shell ×1
spring-boot ×1
sql ×1
yup ×1