Meteor/React/ApolloServer/BodyParser - 负载太大
Meteor/React/ApolloServer/BodyParser - Payload too large
由于我的 meteor/react 应用程序中的 Mutation 对象,我正在尝试保存相当大的对象,但我在控制台中收到有效负载太大错误:
PayloadTooLargeError: request entity too large
我知道我的对象超过了 100kb,这是 bodyparser 的默认限制,但我无法更改它。
我在启动 Apollo 服务器时尝试了以下操作:
const server = new ApolloServer({
typeDefs,
resolvers,
context: async ({ req }) => {
return ({
user: await getUser(req.headers.authorization)
})
}
})
server.applyMiddleware({
app: WebApp.connectHandlers,
path: '/graphql'
})
WebApp.connectHandlers.use(bodyParser.json({limit: '100mb', extended: true}));
WebApp.connectHandlers.use('/graphql', (req, res) => {
if (req.method === 'GET') {
res.end()
}
})
但我仍然遇到同样的错误。我认为我的对象大约是 400kb。我希望你们中的一个能帮助我。提前致谢。
apollo-server-express
已经包含 body-parser
所以你不应该再次添加它作为中间件。相反,您可以在调用 applyMiddlware
:
时将 body-parser
选项传递给 Apollo
server.applyMiddleware({
app: WebApp.connectHandlers,
path: '/graphql',
bodyParserConfig: {
limit: '100mb',
},
})
有关可用选项的完整列表,请参阅 docs。
由于我的 meteor/react 应用程序中的 Mutation 对象,我正在尝试保存相当大的对象,但我在控制台中收到有效负载太大错误:
PayloadTooLargeError: request entity too large
我知道我的对象超过了 100kb,这是 bodyparser 的默认限制,但我无法更改它。
我在启动 Apollo 服务器时尝试了以下操作:
const server = new ApolloServer({
typeDefs,
resolvers,
context: async ({ req }) => {
return ({
user: await getUser(req.headers.authorization)
})
}
})
server.applyMiddleware({
app: WebApp.connectHandlers,
path: '/graphql'
})
WebApp.connectHandlers.use(bodyParser.json({limit: '100mb', extended: true}));
WebApp.connectHandlers.use('/graphql', (req, res) => {
if (req.method === 'GET') {
res.end()
}
})
但我仍然遇到同样的错误。我认为我的对象大约是 400kb。我希望你们中的一个能帮助我。提前致谢。
apollo-server-express
已经包含 body-parser
所以你不应该再次添加它作为中间件。相反,您可以在调用 applyMiddlware
:
body-parser
选项传递给 Apollo
server.applyMiddleware({
app: WebApp.connectHandlers,
path: '/graphql',
bodyParserConfig: {
limit: '100mb',
},
})
有关可用选项的完整列表,请参阅 docs。