GraphQL API 参数问题 - Elixir
GraphQL API Parameters issue - Elixir
我需要在应用程序中 post 发表评论。这已经实施并且工作正常。现在,我有一个额外的要求,即上传照片和评论。所以,我在应用程序中实现了相机功能,现在我将图像 URI 发送到 GraphQL API。我重构了 elixir 中的架构和类型。但是,不知何故,参数在到达服务 class.
时消失了
comment.ex
defmodule MyApp.Comment do
use MyApp.Schema
schema "comments" do
field :art_id , :string
field :body , :string
field :image_url , :string
field :image_name , :string
belongs_to :user , User
timestamps()
end
@optional_attributes ~w(body art_id image_url image_name)a
def changeset(%Comment{} = schema, params) do
schema
|> cast(params, @optional_attributes)
|> validate_required(@required_attributes)
end
end
schema.ex 包含:
field :create_comment, :comment do
arg :art_id, non_null(:string)
arg :base64_image, :string
arg :image_name, :string
arg :body, :string
middleware RequireAuth
resolve &CommentService.create_comment/2
middleware HandleErrors
end
types.ex
object :comment do
field :id , :id
field :art_id , :string
field :body , :string
field :image_name , :string
field :image_url , :image_url
field :user , :user do
resolve &UserResolver.resolve/2
end
end
scalar :image_url, description: "S3 image url" do
serialize fn(arg) ->
{:ok, url} = MyApp.FileService.get_object_url(Application.get_env(:ex_aws, :bucket), arg)
url
end
end
在我的本地服务器日志上:
[info] POST /api/graphql
[debug] QUERY OK source="users" db=1.6ms
SELECT u0."id", u0."email", u0."fb_id", u0."full_name", u0."avatar_url", u0."password_digest", u0."email_confirmed_at", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."id" = ) [1]
[debug] ABSINTHE schema=MyApp.API.Schema variables=%{"artId" => "comma-2005-06", "base64Image" => "data:image/jpeg;base64,/9j/4QMMRXhpZgAASUkqAAgAAAA3ADIBAgAUAAAAogIAAA8BAgAKAAAAtgIAAAEBAwABAAAAIAoAABABAgAIAAAAwAIAAAmSAwABAAAAEAAAAAiSAwABAAAAAAAAAAqkAwABAAAAAQAAAAikAwABAAAAAAAAAAmkAwABAAAAAAAAAAABAwABAAAAmAcAABIBAwABAAAAAAAAAAeSAwABAAAA/////yWIBAABAAAAyAIAAGmHBAABAAAA5gIAAAAAAABBd0FCQUFBQUFBQUFBQUFCQXdBQkFBQUFtQWNBQUJJQkF3QUJBQUFBQUFBQUFBZVNBd0FCQUFBQS8vLy8veVdJQkFBQkFBQUE3QUlBQUdtSEJBQUJBQUFBQ2dNQUFBQUFBQUJCUVVGQ1FYZEJRa0ZCUVVGdFFXTkJRVUpKUWtGM1FVSkJRVUZCUVVGQlFVRkJaVk5CZDBGQ1FVRkJRUzh2THk4dmVWZEpRa0ZCUWtGQlFVRTNRVWxCUVVkdFNFSkJRVUpCUVVGQlEyZE5RVUZCUVVGQlFVSkNVVlZHUTFGWVpFSlJhMFpDVVZWR2RGRlhUa0pSVlVwS1VXdEdNMUZWU2tKUlZVWkNVVlZHUWxGVlJrSmFWazVDWkRCR1ExRlZSa0pSVXpoMlRIazRkbVZXWkVwUmEwWkNVV3RHUWxGVlJUTlJWV3hDVVZWa2RGTkZTa0pSVlVwQ1VWVkdRbEV5WkU1UlZVWkNVVlZHUWxGVlVsZGtWa1pDVVZWR1FsRXdiR3RsVlRnd1VWVkdRbEZWUmtSUmJsbDRXVzEwUWxGVlJrSlJVM1JLWlZkNE1WVlZSa0pSVlVaRVRrVTVNRlo2VmtKUlZVWkNVVlU1UkdSRWFIbFpNRVpDVVZWR1FtUXdhRkZUTTFaU1VWVkcyMDE4OjA5OjEzIDEzOjI3OjU4AE1vdG9yb2xhAABYVDEwMzMAAAIAAAAAAFVraHdWMlJXUmtKUlZVWkNVVzA1UWxKWAIAAQIEAAEAAAAEAwAAAgIEAAEAAAAAAAAAAAAAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e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" <> ..., "body" => "Sample picture", "imageName" => "1-1536824593426"}
mutation createComment($artId: String!, $body: String) {
createComment(artId: $artId, body: $body) {
id
user {
id
}
artId
body
}
}
我不确定这有什么问题。但是,突变仅显示旧参数。它不包含添加的新参数。另外,在我的解析器服务中,我只得到 art_id 和正文作为参数,如下所示。
%{art_id: "comma-2005-06", body: "Sample picture"}
我错过了什么吗?有人可以帮忙吗?
不是灵药错误
这是因为 FE 中的模式定义不包含新属性。
模式定义语言
为了便于理解服务器的功能,GraphQL 实现了一种人类可读的模式语法,称为其模式定义语言或“SDL”。 SDL 用于表达模式中可用的类型以及这些类型如何相互关联。
通过更新 schema.graphql 中的架构:
mutation createComment($artId: String!, $body: String, $base64Image: String, $imageName: String) {
createComment(artId: $artId, body: $body, base64Image: $base64Image, imageName: $imageName) {
...commentData
}
}
fragment commentData on Comment {
id
user {
id
fullName
}
artId
body
imageUrl
imageName
}
GraphQL API 现在工作正常。
我需要在应用程序中 post 发表评论。这已经实施并且工作正常。现在,我有一个额外的要求,即上传照片和评论。所以,我在应用程序中实现了相机功能,现在我将图像 URI 发送到 GraphQL API。我重构了 elixir 中的架构和类型。但是,不知何故,参数在到达服务 class.
时消失了comment.ex
defmodule MyApp.Comment do
use MyApp.Schema
schema "comments" do
field :art_id , :string
field :body , :string
field :image_url , :string
field :image_name , :string
belongs_to :user , User
timestamps()
end
@optional_attributes ~w(body art_id image_url image_name)a
def changeset(%Comment{} = schema, params) do
schema
|> cast(params, @optional_attributes)
|> validate_required(@required_attributes)
end
end
schema.ex 包含:
field :create_comment, :comment do
arg :art_id, non_null(:string)
arg :base64_image, :string
arg :image_name, :string
arg :body, :string
middleware RequireAuth
resolve &CommentService.create_comment/2
middleware HandleErrors
end
types.ex
object :comment do
field :id , :id
field :art_id , :string
field :body , :string
field :image_name , :string
field :image_url , :image_url
field :user , :user do
resolve &UserResolver.resolve/2
end
end
scalar :image_url, description: "S3 image url" do
serialize fn(arg) ->
{:ok, url} = MyApp.FileService.get_object_url(Application.get_env(:ex_aws, :bucket), arg)
url
end
end
在我的本地服务器日志上:
[info] POST /api/graphql
[debug] QUERY OK source="users" db=1.6ms
SELECT u0."id", u0."email", u0."fb_id", u0."full_name", u0."avatar_url", u0."password_digest", u0."email_confirmed_at", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."id" = ) [1]
[debug] ABSINTHE schema=MyApp.API.Schema variables=%{"artId" => "comma-2005-06", "base64Image" => "data:image/jpeg;base64,/9j/4QMMRXhpZgAASUkqAAgAAAA3ADIBAgAUAAAAogIAAA8BAgAKAAAAtgIAAAEBAwABAAAAIAoAABABAgAIAAAAwAIAAAmSAwABAAAAEAAAAAiSAwABAAAAAAAAAAqkAwABAAAAAQAAAAikAwABAAAAAAAAAAmkAwABAAAAAAAAAAABAwABAAAAmAcAABIBAwABAAAAAAAAAAeSAwABAAAA/////yWIBAABAAAAyAIAAGmHBAABAAAA5gIAAAAAAABBd0FCQUFBQUFBQUFBQUFCQXdBQkFBQUFtQWNBQUJJQkF3QUJBQUFBQUFBQUFBZVNBd0FCQUFBQS8vLy8veVdJQkFBQkFBQUE3QUlBQUdtSEJBQUJBQUFBQ2dNQUFBQUFBQUJCUVVGQ1FYZEJRa0ZCUVVGdFFXTkJRVUpKUWtGM1FVSkJRVUZCUVVGQlFVRkJaVk5CZDBGQ1FVRkJRUzh2THk4dmVWZEpRa0ZCUWtGQlFVRTNRVWxCUVVkdFNFSkJRVUpCUVVGQlEyZE5RVUZCUVVGQlFVSkNVVlZHUTFGWVpFSlJhMFpDVVZWR2RGRlhUa0pSVlVwS1VXdEdNMUZWU2tKUlZVWkNVVlZHUWxGVlJrSmFWazVDWkRCR1ExRlZSa0pSVXpoMlRIazRkbVZXWkVwUmEwWkNVV3RHUWxGVlJUTlJWV3hDVVZWa2RGTkZTa0pSVlVwQ1VWVkdRbEV5WkU1UlZVWkNVVlZHUWxGVlVsZGtWa1pDVVZWR1FsRXdiR3RsVlRnd1VWVkdRbEZWUmtSUmJsbDRXVzEwUWxGVlJrSlJVM1JLWlZkNE1WVlZSa0pSVlVaRVRrVTVNRlo2VmtKUlZVWkNVVlU1UkdSRWFIbFpNRVpDVVZWR1FtUXdhRkZUTTFaU1VWVkcyMDE4OjA5OjEzIDEzOjI3OjU4AE1vdG9yb2xhAABYVDEwMzMAAAIAAAAAAFVraHdWMlJXUmtKUlZVWkNVVzA1UWxKWAIAAQIEAAEAAAAEAwAAAgIEAAEAAAAAAAAAAAAAAP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e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" <> ..., "body" => "Sample picture", "imageName" => "1-1536824593426"}
mutation createComment($artId: String!, $body: String) {
createComment(artId: $artId, body: $body) {
id
user {
id
}
artId
body
}
}
我不确定这有什么问题。但是,突变仅显示旧参数。它不包含添加的新参数。另外,在我的解析器服务中,我只得到 art_id 和正文作为参数,如下所示。
%{art_id: "comma-2005-06", body: "Sample picture"}
我错过了什么吗?有人可以帮忙吗?
不是灵药错误
这是因为 FE 中的模式定义不包含新属性。
模式定义语言
为了便于理解服务器的功能,GraphQL 实现了一种人类可读的模式语法,称为其模式定义语言或“SDL”。 SDL 用于表达模式中可用的类型以及这些类型如何相互关联。
通过更新 schema.graphql 中的架构:
mutation createComment($artId: String!, $body: String, $base64Image: String, $imageName: String) {
createComment(artId: $artId, body: $body, base64Image: $base64Image, imageName: $imageName) {
...commentData
}
}
fragment commentData on Comment {
id
user {
id
fullName
}
artId
body
imageUrl
imageName
}
GraphQL API 现在工作正常。