I’d like to use apollo-server-lambda but also serve additional routes like this
export const handler = apolloServer.createHandler({
expressAppFromMiddleware: (middleware) => {
const app = express();
app.get('/my-path', (req, res) => {
res
.status(200)
.send('This is an additional endpoint.')
.end();
});
app.use(middleware);
return app;
}
});
Is this possible?
eldiren
#2
This worked for me.
const { ApolloServer } = require("apollo-server-lambda");
const express = require("express");
const typeDefs = require("./graphql/typedefs");
const resolvers = require("./graphql/resolvers");
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ event }) => ({ req: { headers: event.headers } }),
});
exports.graphqlHandler = server.createHandler({
expressGetMiddlewareOptions: {
cors: {
origin: "*",
credentials: true,
},
},
expressAppFromMiddleware(middleware) {
const app = express();
app.get("/upload", (req, res, next) => {
console.log("Test root!");
res.send("Hello world REST!");
next();
});
app.use(middleware);
return app;
},
});
How to access this endpoint? Do you have to write something in the SAM template?