Documentation ¶
Overview ¶
Graphql 类型缩写, 减少Schema代码量
Index ¶
- Variables
- func Gateway(requestBody []byte) []byte
- func GraphqlHttpHandler(query, mutation interface{}) *handler.Handler
- func GraphqlObject(i interface{}) *graphql.Object
- func GraphqlType(t reflect.Type) graphql.Type
- func HttpClient() *http.Client
- func HttpHandle(query, mutation interface{})
- func ParseGraphqlQuery(query string) map[string]string
- type GraphRequestModel
- type GraphResponseModel
- type ResolveParams
- type Tag
- type Time
Constants ¶
This section is empty.
Variables ¶
View Source
var GraphqlSchema = func(query, mutation interface{}) *graphql.Schema { newSchema, err := graphql.NewSchema(graphql.SchemaConfig{ Query: GraphqlObject(query), Mutation: GraphqlObject(mutation), Subscription: nil, Types: nil, Directives: nil, Extensions: nil, }) if err != nil { log.Fatal(err) } log.Printf("GraphqlSchema Load Success") return &newSchema }
Graphql Schema
Functions ¶
func GraphqlHttpHandler ¶
Http Handler h := hgraph.GraphqlHttpHandler(&Query{}, &Mutation{})
func GraphqlObject ¶ added in v0.1.0
i = Query{} i = Mutation{}
func GraphqlType ¶ added in v0.1.0
object := Query{} objectType := reflect.TypeOf(object)
func HttpClient ¶ added in v0.1.13
func HttpHandle ¶ added in v0.1.13
func HttpHandle(query, mutation interface{})
func ParseGraphqlQuery ¶ added in v0.0.3
解析Graphql 字符串,第一级Key作为服务名,value拼接为查询字符串
Types ¶
type GraphRequestModel ¶ added in v0.0.3
type GraphRequestModel struct { RequestId string `json:"requestId"` Token string `json:"token"` OperationName string `json:"operationName"` Query string `json:"query"` Variables interface{} `json:"variables"` }
Graphql 请求JSON Model
func ParseGraphqlReuqest ¶ added in v0.0.3
func ParseGraphqlReuqest(b []byte) (*GraphRequestModel, error)
type GraphResponseModel ¶ added in v0.0.3
type GraphResponseModel struct { RequestId string `json:"requestId"` HostTime string `json:"hostTime"` Data map[string]interface{} `json:"data"` Errors []map[string]interface{} `json:"errors,omitempty"` }
Graphql 响应JSON Model
func BulkRequest ¶ added in v0.0.3
func BulkRequest(reqModel *GraphRequestModel, services map[string]string) *GraphResponseModel
批量请求Graphql服务响应报文,合并响应结果返回
func Feign ¶ added in v0.1.0
func Feign(reqModel *GraphRequestModel) (resModel *GraphResponseModel)
调用业务服务 解析请求字符串第一级字段作为服务名调用Graphql服务
func PostGraphqlService ¶ added in v0.1.0
func PostGraphqlService(name string, requestModel *GraphRequestModel) (resModel *GraphResponseModel)
根据服务名调用服务 bytes 为http请求响应body message 为错误消息
func (*GraphResponseModel) FirstErrorMessage ¶ added in v0.1.3
func (r *GraphResponseModel) FirstErrorMessage() error
返回第一条错误内容
func (*GraphResponseModel) ToStruct ¶ added in v0.1.3
func (r *GraphResponseModel) ToStruct(serviceName string, output interface{})
转为结构体
type ResolveParams ¶ added in v0.1.0
type ResolveParams graphql.ResolveParams
扩展Graphql Resolve函数的参数方法
func (ResolveParams) Auth ¶ added in v0.1.0
func (ResolveParams) Auth()
Source Files ¶
Click to show internal directories.
Click to hide internal directories.