In this blog I will share the build to make a simple REST callout using Lightning Web Component Controller.
We will use a sample third party domain to do the callout.
We won't be using APEX code it's just pure JavaScript and HTML.
Rest Callout domain : https://icanhazdadjoke.com/
Configuration
You have to add your domain in the CSP Trusted Sites setting in your Salesforce org to make a successful callout as shown below :
Now you may follow the code below :
RestTest.html
1 2 3 | <template> <center><p style="font-size: xx-large">{randomJoke}</p></center> </template> |
RestTest.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import { LightningElement } from "lwc"; export default class RestTest extends LightningElement { randomJoke; connectedCallback() { const calloutURL = "https://icanhazdadjoke.com"; fetch(calloutURL, { method: "GET", headers: { Accept: "application/json" } }) .then((response) => { if (response.ok) { return response.json(); } }) .then((responseJSON) => { this.randomJoke = responseJSON.joke; }); } } |
Output
Checkout complete video tutorial below
If you have any question please leave a comment below.
If you would like to add something to this post please leave a comment below.
Share this blog with your friends if you find it helpful somehow !
Thanks
Happy Coding :)
6 Comments
hi
ReplyDeletei do it on correct way but its showing [Failed to fetch] error on the record page ..
Have you added it in CSP trusted sites ?
Deleteyes i add & i use same code but its showing error Failed to Fetch.
DeleteRefused to connect to 'https://icanhazdadjoke.com/' because it violates the document's Content Security Policy.
ReplyDeletehi Sai You have to it on correct way Like This https://icanhazdadjoke.com than save
Deletefetch() will be rejected by eslint. you need to use XMLHttpRequest();
ReplyDelete