Meteor / React / ApolloServer / BodyParser - слишком большая полезная нагрузка - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь сохранить довольно большой объект благодаря объекту Mutation в моем приложении meteor / реагировать, но я получаю ошибку слишком большой полезной нагрузки в консоли:

PayloadTooLargeError: слишком большой объект запроса

Я знаю, что мой объект превышает 100 КБ, что является пределом по умолчанию для 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()
  }
})

Но я все еще получаю ту же ошибку. Я думаю, что мой объект составляет около 400 КБ. Я надеюсь, что один из вас сможет мне помочь. Заранее спасибо.

1 Ответ

1 голос
/ 08 мая 2019

apollo-server-express уже включает body-parser, поэтому вам не следует добавлять его снова в качестве промежуточного программного обеспечения. Вместо этого вы можете передать body-parser опции Аполлону при вызове applyMiddlware:

server.applyMiddleware({
  app: WebApp.connectHandlers,
  path: '/graphql',
  bodyParserConfig: {
    limit: '100mb',
  },
})

Полный список доступных параметров см. В документах .

...