1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gqlengine-gqlengine

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

GQLEngine — лучшее производительное решение для реализации сервера GraphQL с высочайшей производительностью

Примеры

Начало работы

Получите модуль:

go get -u github.com/gqlengine/gqlengine

main.go

package main

import (
  "net/http"

  "github.com/gqlengine/gqlengine"
)

func main() {
  engine := gqlengine.NewEngine(gqlengine.Options{
	Tracing: true, // включить расширения трассировки
  })
  
  // зарегистрировать ваши запросы, мутации и подписки
  engine.NewQuery(mySimpleQuery)
  
  // не забудьте инициализировать движок
  if err := engine.Init(); err != nil {
    panic(err)
  }
  
  // обслуживать HTTP
  http.HandleFunc("/api/graphql", engine.ServeHTTP)
  if err := http.ListenAndServe(":8000", nil); err != nil {
    panic(err)
  }
}

api.go

package main

type MyInfo struct {
  gqlengine.IsGraphQLObject `gqlDesc:"my info"`
  SaySomething string
}

func mySimpleQuery() error {
  panic("not implemented")
}

Используйте Playground

go get -u github.com/gqlengine/playground

Обновите код

...

import (
  "github.com/gorilla/mux"
  "github.com/gqlengine/playground"
)
...

func main() {

  ... // инициализируйте свой GQL-движок

  playground.SetEndpoints("/api/graphql", "/api/graphql/subscriptions")

  // рекомендуется использовать 'gorilla/mux' для обслуживания веб-ресурсов Playground
  r := mux.NewRouter()
  r.HandleFunc("/api/graphql", engine.ServeHTTP)
  r.HandleFunc("/api/graphql/subscriptions", engine.ServeWebsocket)
  r.PathPrefix("/api/graphql/playground").
    Handler(http.StripPrefix("/api/graphql/playground",
      http.FileServer(playground.WebBundle)))

  println("open playground http://localhost:9996/api/graphql/playground/")
  if err := http.ListenAndServe(":9996", r); err != nil {
    panic(err)
  }
}

Откройте браузер, вы можете получить доступ к Playground.

Функции

  • Основные функции
    • Отражение типа объекта
    • Предварительная регистрация интерфейса
    • Предварительная регистрация объединения
    • Отражение перечисления
    • Скалярное отражение
    • Входное отражение
    • Аргументы отражения
  • Подписка (интеграция Websocket)
  • Загрузка составных файлов (загрузка изображений/файлов в запросе GraphQL)
  • Пользовательский идентификатор
  • Расширения трассировки
  • Теги документов
  • Перехват операций

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Высокопроизводительный и функциональный серверный фреймворк на языке GraphQL для Go. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/gqlengine-gqlengine.git
git@api.gitlife.ru:oschina-mirror/gqlengine-gqlengine.git
oschina-mirror
gqlengine-gqlengine
gqlengine-gqlengine
master