![](/img/trans.png)
[英]GET query missing: Implementing GraphQL Using Apollo On an Express Server
[英]Problem deploying Apollo Express server to Heroku: "GET query missing."
我使用 Apollo Express 編寫了一個簡單的 GraphQL 服務器並將其部署到 Heroku。 在對 Procfiles 之類的東西進行了一些弄亂之后,它構建好了。
當我點擊主 URL https://limitless-atoll-59109.herokuapp.com 時出現錯誤
不能獲取 /
好的,然后我認為 Express 服務器肯定只是在尋找 graphql 端點上的 get。 但是當我點擊https://limitless-atoll-59109.herokuapp.com/graphql我得到
缺少 GET 查詢。
我需要在 url 中包含一個端口嗎? 我在代碼中正確設置了端口
const PORT = process.env.PORT || 4000
app.listen({port: PORT}, () =>
console.log(`Server ready at http://localhost:${PORT}${server.graphqlPath}`)
);
但是我認為在訪問 Heroku 上的服務器時不需要包含它,是嗎?
值得一提的是,這是錯誤日志中的錯誤
019-05-08T17:07:41.492327+00:00 heroku[router]: at=info method=GET path="/graphql" host=limitless-atoll-59109.herokuapp.com request_id=b6171835-aac4-4b45-8a7b -daebbb3167ed fwd="139.47.21.74" dyno=web.1 connect=0ms service=900ms status=400 bytes=196 protocol=https
謝謝你的幫助!
答案是,它是URL,在兩端/graphql
一個欲望。 但是,當您從瀏覽器點擊該 url 時,它會嘗試加載 Playground,但失敗了,因為 Playground 在生產環境中默認是禁用的。
但是,您可以從客戶端應用程序對該 url 進行 graphql 調用,並且它工作正常。
如果您使用的是 apollo 服務器,您可以在生產中啟用它:
const server = new ApolloServer({
typeDefs,
resolvers,
introspection: true,
playground: true,
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.