Есть ли способ указать преобразователи типов для типов ввода графена? - PullRequest
2 голосов
/ 27 июня 2019

Допустим, у меня есть следующая схема GraphQL, написанная в графене,


class Query(graphene.ObjectType):
    dummy_query = graphene.Field(String, name=graphene.String(required=True))

    def resolve_dummy_query(self, info, name):
        print(type(name))
        return None

Я использую Flask для размещения этого API,

view_func = GraphQLView.as_view('graphql',
                                schema=graphene.Schema(query=Query),
                                graphiql=True)

app = Flask(__name__)
app.add_url_rule('/graphql', view_func=view_func)


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=os.environ.get('PORT', 5000))

Ниже приведен запрос, который япредоставление с использованием GraphiQL

{
    dummyQuery(name: "My name")
}

Когда выполняется функция разрешения, тип name отображается как unicode.

Есть ли способ указать преобразователь типа вопределение схемы, чтобы преобразовать его в str, когда оно находится в функции разрешения?

Примечание:

  • Я использую Python 2.7
  • Iне могу вручную конвертировать его в str каждый раз, потому что приложение большое и есть много типов ввода, которые я хотел бы преобразовать в другие типы.
...