我正在使用最后一个可用的 lacinia 版本:“0.36.0-alpha-3”和 Luminus (Ring+reitit),但这个版本要求一个特定的标题:
$ curl 'http://localhost:3000/api/graphql' -X POST --data "{test_by_id(id: 5) { title } }" -H 'Content-Type: application/graphql'
该请求可以正常工作,但如果没有“'Content-Type: application/graphql'”,该请求将无法正常工作。所以我需要定义我的重新图形初始化向量,如:
[::re-graph/init
{:ws-url nil
:http-url "http://localhost:3000/api/graphql"
:http-parameters {:with-credentials? false
:headers {"Content-Type" "application/graphql"}
}
:ws-reconnect-timeout nil
:resume-subscriptions? false
:connection-init-payload {}}]
但是放置该标题会使重新图形无法正常工作:
{"errors":[{"message":"Failed to parse GraphQL query.","extensions":{"errors":[{"locations":[{"line":1,"column":null}],"message":"mismatched input '\"query\"' expecting {'query', 'mutation', 'subscription',
看起来 re-graph 使用“application/json”标头发送和接收数据,因此 lacinia 要求某种类型的标头,但 re-graph 无法使用该选项。