【问题标题】:Sending an array to Micronaut Graphql for query from ReactJS将数组发送到 Micronaut Graphql 以从 ReactJS 查询
【发布时间】:2021-07-16 08:59:38
【问题描述】:

我正在尝试从 reactjs 向 micronaut 发送一个字符串数组,以测试数据是否成功传递,我在前端有这样的东西:

const [filterName, setName] = useState(["test"]);
const age = 1;

const { data: people } = useSWR([`
     query ($name:[String], $age:Int){
        getName(name:$name, age:$age){ ... }`, filterName, age], (query, filterName, age) => fetcher(query, {filterName, age}))

我的 micronaut 后端如下所示:

@GraphQLQuery(name = "getName")
List<User> getName (@GraphQLArgument(name = "name") List<String> name,
                    @GraphQLArgument(name = "age") Integer age ){

    System.out.println("name: " + name.toString());
    System.out.println("age: " + age);
}

我可以打印 agename 打印为 null。难道我做错了什么?我尝试使用 ArrayList 代替 List,仍然无法正确接收名称。希望您能提供帮助。谢谢!

【问题讨论】:

标签: java reactjs graphql micronaut swr


【解决方案1】:

这是 fetcher 中的变量。它需要匹配 micronaut 中声明的 api 名称。应该是这样的:

const [filterName, setName] = useState(["test"]);
const age = 1;

const { data: people } = useSWR([`
     query ($name:[String], $age:Int){
        getName(name:$name, age:$age){ ... }`, filterName, age], (query, filterName, age) => fetcher(query, {name:filterName, age}))

【讨论】:

    猜你喜欢
    • 2019-01-01
    • 2018-08-04
    • 2018-03-25
    • 2018-11-21
    • 2017-03-10
    • 2017-07-21
    • 2018-11-27
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多