Graphql- ruby как определить ha sh как тип - PullRequest
1 голос
/ 28 мая 2020

Есть ли возможность определить Ha sh как поле типа в схеме graphql- ruby? В моей структуре данных есть многоязычный тип String, который состоит из кода языка в качестве ключа и соответствующего текста. На данный момент предусмотрено 2 языка, например:

{ 
  "en" : "hello",
  "de" : "hallo"
}

Итак, достаточно построить такой тип:

 class Types::LanguageStringType < GraphQL::Schema::Object
   field :de, String, null:true
   field :en, String, null:true
 end

Как выглядит тип, который предоставляет карту Строка в строку? Соответствующий интерфейс машинописного текста выглядит так, например:

title: {
  [language: string]: string;
}

Чтобы сделать следующий шаг, как рекурсивный узел:

export interface NodeDescription {
  name: string
  children?: {
      [childrenCategory: string]: NodeDescription[];
  }
}

Есть ли способ использовать это в поле как Типы :: NodeDescriptionType в схеме graphql- ruby?

1 Ответ

3 голосов
/ 29 мая 2020

Не существует такого понятия, как общий тип объекта c. И встроенного типа String -> String Ha sh нет. Ваш GraphQL API построен на специфическом c графе объектов, который вы должны определить заранее. Если все, что вам нужно, это String -> String Ha sh, вы можете определить свой собственный скаляр или, если этого достаточно, вы можете использовать встроенный скаляр JSON, который поставляется с graphql- ruby:

Источник: https://graphql-ruby.org/type_definitions/scalars.html

...