Testing Yelp's API with a node/express proxy server
Steps to run application:
- Clone git repository
- Install dependencies
- Start the application with an empty db.json file
- run app
git clone git@github.com:kqarlos/note-taker.git
npm install
node server.js
- Working app
- Fetching data
// CLIENT SIDE API CALL TO NODE EXPRESS SERVER
function getBusinesses(keyword) {
// console.log("GET BUSSINESSES KEYWORD", keyword)
fetch("/api/restaurants/" + keyword, {
method: "GET",
headers: { "Content-Type": "application/json" }
}).then(response => {
return response.json();
}).then(data => {
// console.log("DATA", data);
renderResults(data.businesses);
});
}
// EXPRESS ROUTE FETCHING FROM YELP'S API AND SERVING DATA
app.get('/api/restaurants/:keyword', (req, res) => {
let keyword = req.params.keyword;
// console.log("Keyword", req.params.keyword);
let key = "rMy1RF6fsAcJ66aNUB7kpfTNQIGb1-gAzujZ8NcCmfmWoj6hjQfbB4Q8CfDEzfZLhUCqQLfAvPOnecKX9FKaDdQBSL33mhu0SZ6j7__472iB89ZAqG9Ku_G0y0YaYHYx";
let url = `https://api.yelp.com/v3/businesses/search?term=${keyword}&latitude=37.786882&longitude=-122.399972&limit=15`;
fetch(url, {
method: "GET",
headers: {
authorization: `Bearer ${key}`
}
}).then((response) => {
return response.json();
}).then((data) => {
res.json(data);
}).catch((err) => {
console.log(err);
res.json(err);
});
});
- The client side javascript makes a fetch request to the node/express proxy server. This server in return serves data fetched from Yelp's API.
- Carlos Toledo: portfolio
- Github: kqarlos
- LinkedIn: carlos-toledo415