Return JSON data from a serverless function using Netlify Functions

Jason Lengstorf
InstructorJason Lengstorf
Share this video with your friends

Social Share Links

Send Tweet
Published 5 years ago
Updated 4 years ago

Use Netlify Functions to create a serverless function (also called a lambda function) that returns data in JSON format.

Jason Lengstorf: [0:00] Let's start by creating a new folder called functions, and inside of that we will create another folder called data, and inside of that we'll create products.json. Inside of that, we're going to add some JSON data for products.

[0:16] We've got two products here and each one has a sku, which is just a unique identifier, has a name, which is what we'll show as the product title, a description, which is some information about the product itself plus a photo credit. The image is an unsplash image. The amount is the price in pennies, so this is $10 or 1,000 cents. The currency is set to USD.

[0:41] We've got two of those. These are going to be our example products. We are going to treat this like a database, but you could load this from anywhere, from any data source.

[0:49] The reason this is in our functions folder is that we're going to be using serverless functions to serve it. The way that Netlify works, the functions folder gets deployed, so once it gets deployed, the functions inside of it won't have access to anything outside of the functions folder. That's why we're going to include the data here.

[1:08] The next thing that we want to do is create our first function. This is going to be called get-products.js. Inside of it, we're going to load our products from ./data/products.json, and then we will export a handler. The handler is going to be an async() function. We don't need any arguments this time. We're just going to return a statusCode of 200 for OK, and a body of JSON.stringify(products).

[1:45] Once we've saved this, we need to tell Netlify where to find the function. We're going to go back into netlify.toml. We're going to add functions = "functions" and that tells Netlify where to look for serverless functions.

[1:58] Once we've set the directory, we can start our server with ntl dev. This will load up the server for us, and then we can hit our function. The place that Netlify stores functions is /.netlify/functions, and then the name of our function which was get-products. When we run this, we get our JSON back.

egghead
egghead
~ 8 minutes ago

Member comments are a way for members to communicate, interact, and ask questions about a lesson.

The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io

Be on-Topic

Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.

Avoid meta-discussion

  • This was great!
  • This was horrible!
  • I didn't like this because it didn't match my skill level.
  • +1 It will likely be deleted as spam.

Code Problems?

Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context

Details and Context

Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!

Markdown supported.
Become a member to join the discussionEnroll Today