我们如何使用浏览器内的 GraphQL IDE 上传文件GraphiQL,这可能吗?(除了base64编码的字符串)
一旦我有了文件流/文件内容,我就可以创建一个多部分请求并存储在数据库或某些对象存储服务上。但我无法弄清楚如何提供文件输入/模式的外观。graphql-upload与Curl请求一起使用更好吗?请建议哪个是最佳解决方案。
我是 GraphQL 的新手,我想知道是否有一种简单的方法可以使用“动态条件”进行查询。
例如,在 GraphiQL 上,我可以查询:
query {
users{
name
age
}
}
Run Code Online (Sandbox Code Playgroud)
它会给我一个所有用户的列表
{
"data": {
"users": [
{
"name": "Luis Coimbra",
"age": 15
},
{
"name": "Sebastião Campagnucci",
"age": 50
},
{
"name": "Giovana Ribeiro",
"age": 30
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
但是有没有一种简单的方法可以让我只带来 18 岁以上或任何其他年龄的用户?
预期的解决方案是:
query {
users{
name
age > 18
}
}
Run Code Online (Sandbox Code Playgroud)
在文档中没有找到类似的东西......
graphql 的新手并开始使用 graphql。我有一个产品数据类型
type Product {
_id: String
name: String
price: Float
}
Run Code Online (Sandbox Code Playgroud)
我在 mongodb 中填充了一些产品
{ "_id" : ObjectId("5a61b31e009c0bef5d724a47"), "name" : "GROUND COFFEE", "price" : 3.06 }
{ "_id" : ObjectId("5a61b31e009c0bef5d724a48"), "name" : "PORK SAUSAGES 500g", "price" : 4.39 }
{ "_id" : ObjectId("5a61b31e009c0bef5d724a49"), "name" : "MILK UHT 1LT", "price" : 1.29 }
{ "_id" : ObjectId("5a61b31e009c0bef5d724a4a"), "name" : "HEINEKEN PREMIUM LIGHT 33CL", "price" : 1.61 }
Run Code Online (Sandbox Code Playgroud)
在graphiql中,我可以执行这样的查询
query {
products{
name,
price
}
}
Query result is
{ …Run Code Online (Sandbox Code Playgroud) 这是我第一次使用 GraphQL,我尝试访问给定查询的内容,但由于缺乏权限,我无法访问该给定查询,在这种情况下,我获得了访问此 GraphQL 的用户名和密码API,我可以使用 GraphQL 中的这些凭据获取并验证令牌,但我的问题如下,如何在 API 中进行身份验证才能访问 API 的查询?
我的错误如下。
"errors": [
{
"message": "You do not have permission to perform this action",
Run Code Online (Sandbox Code Playgroud)
我相信这是非常基本的事情,但我只是找不到解决这个问题的方法。
我想为将来的项目测试GraphQL。该项目将使用Spring Boot,Spring Security和GraphQL。因此,我使用Spring Initializr中的构建在IntelliJ中创建了一个新的Spring Boot App。当然,Spring Boot版本是最新的(2.0.3.RELEASE)现在,我添加了GraphQL和GraphiQL的依赖项。
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java-tools</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphiql-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
为了对此进行测试,我运行了该应用程序,但没有/graphql端点。在这种情况下,我application.properties毫无问题地对其进行了配置:
# GraphQL
graphql.servlet.mapping=/graphql
graphql.servlet.enabled=true
graphql.servlet.corsEnabled=true
# GraphiQL
graphiql.mapping=/graphiql
graphiql.endpoint=/graphql
graphiql.enabled=true
graphiql.cdn.enabled=true
graphiql.cdn.version=0.11.11
Run Code Online (Sandbox Code Playgroud)
再次测试之后,端点就在那里了,所以现在我可以编写模式,解析器等了。这是我实现的:
架构:
schema {
query: Query
mutation: Mutation
}
type Greeting {
id: ID!
message: String!
}
type Query {
greetingsAll: [Greeting]
}
type Mutation {
greeting(message: String!): Greeting
}
Run Code Online (Sandbox Code Playgroud)
模型:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Builder
@ToString
@Entity
public class Greeting …Run Code Online (Sandbox Code Playgroud) 我正在尝试按照本文介绍如何使用 GraphQl https://www.howtographql.com/graphql-ruby/4-authentication在 Rails 服务器上创建突变
但是,我被困在 CreateUser Mutation 步骤中,在 GraphiQL 中尝试时出现以下错误哈希:
{
"errors": [
{
"message": "Field 'createUser' is missing required arguments: input",
"locations": [
{
"line": 45,
"column": 3
}
],
"path": [
"mutation CreateUser",
"createUser"
],
"extensions": {
"code": "missingRequiredArguments",
"className": "Field",
"name": "createUser",
"arguments": "input"
}
},
{
"message": "Field 'createUser' doesn't accept argument 'username'",
"locations": [
{
"line": 46,
"column": 5
}
],
"path": [
"mutation CreateUser",
"createUser",
"username"
],
"extensions": {
"code": "argumentNotAccepted",
"name": …Run Code Online (Sandbox Code Playgroud) I am new to GraphQL. However, after watching couple of videos and GraphQL blogs I decided to give it a try but I am getting "404 error" even after doing exactly the same thing as in those videos/blogs. Could this be because of "I am using a little newer version of Spring Boot than in those videos/blogs". Even this bare-bone example: https://github.com/shressur/spring-boot-and-graphql is not working. I would appreciate if anyone could guide me to the right direction.
QueryResolver.java
package com.example.demo.resolver; …Run Code Online (Sandbox Code Playgroud) 我有以下情况:我有一个用户,每个用户都有一个库存。我正在努力在 Mutation“CreateUser”中声明用户的库存。以下是用于创建用户的以下更改:
mutation Create{
addUser(UserData:{name:"Shibunika",age:21}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试在此突变中声明用户的库存,我期望类似
mutation Create{
addUser(UserData:{name:"Shibunika",age:21,inventory:{'item1':45,'item2':25}
}s
Run Code Online (Sandbox Code Playgroud)
这些数字是每个项目的数量。我如何在石墨烯中定义这些输入?你会轻轻地给我看一个模式吗?
MergeGraphiQL UI 中按钮的用途是什么?它似乎在做与按钮相同的事情Prettify。
请提供示例
graphiql ×10
graphql ×9
spring-boot ×2
api ×1
django ×1
express ×1
filter ×1
graphql-java ×1
java ×1
node.js ×1