使用GraphIql apollo引擎的内容类型不受支持

时间:2018-05-28 11:14:23

标签: graphql apollo-server

我正在运行apollo-server-express,一切正常。我有2个端点 - 1个用于graphiql(/ graphql),1个用于非交互式(/ client)查询(我知道 - 在我开始使用apollo之前它们被称为。)

engine.listen({
  port: port,
  expressApp: fidserver.app,
  graphqlPaths: ['/graphql', '/client']
});

但是,当我介绍阿波罗引擎

{"errors":[{"message":"Unsupported Content-Type from origin: text/html"}]}

一切都运行正常 - 除非我在浏览器上使用查询作为参数在浏览器网址上刷新graphiql。

然后我收到此错误

<vaadin-grid-column width="15em">
        <template class="header">
            <vaadin-grid-filter aria-label="Inventory" path="" value="[[_filterItems]]">
                <vaadin-text-field slot="filter" placeholder="Item" value="{{_filterItems}}" focus-target></vaadin-text-field>   
            </vaadin-grid-filter>
        </template>
    <template>[[item]]</template>
</vaadin-grid-column>

在没有运行apollo引擎的情况下执行相同的操作不会导致错误。如果再次运行查询,或者在没有查询和变量参数的情况下刷新浏览器,无论是否启用Apollo Engine,一切都可以正常工作。

当错误发生时,我可以从我的服务器日志中看到它试图返回一个包含一些javascript的反应网页,用于从某个地方解码参数,但是我无法从哪里追踪 - 它没有#&# 39; t到达我的任何代码。

1 个答案:

答案 0 :(得分:0)

这是由阿波罗的家伙解决的。这是答案 - 我不应该在engine.listen选项中提到我的graphIQL终点。

引擎应该只放在客户端和GraphQL服务器端点之间。尝试这样的配置:

engine.listen({
  port: port,
  expressApp: fidserver.app,
  graphqlPaths: ['/client'] // removed "graphql"
});