Problem Statement:
Sometimes we
might need to fetch data from long URL containing more filters while using REST API. REST query allows max –length of URL is
2,048 characters. If you exceed this limit, will throw 404 error in the code. let's check out how we should overcome this issue.
Analysis:
When we execute the query with URL having less filters & columns and thus having URL length less than the limit, we can get the response correctly:
But if we keep on increasing the filters & columns in REST API, once URL exceeds the limit of 2048 characters, we should start getting 404 error as shown below.
So, I thought of checking the URL with same filters in SharePoint directly, would it give same error? Surprisingly, I found that SharePoint shows the results correctly with same numbers of filter and even more.
Technical Solution:
My analysis got me on the conclusion that the request is
getting 404 caused by browser execution limitation of REST API and is not the issue from
SharePoint end. So, we need to find a way through which we can send query to
SharePoint and execute without browser itself. So, I thought of using Batch API option for the same. I followed below
steps to execute long URL successfully:
Step 1: Load
BatchUtils script into browser.
Step 2: Verify
BatchUtils loaded and Run in browser.
Step 3: Prepare
data for BatchUtils.
·
You need to specify Root Site URL of SharePoint
tenant.
·
Push Long
URL in array.
Step 4: Request
for fetch data using BatchUtils.
·
Here, you go! get the results without any error.
Note: We can use BatchUtils in Custom SPFX Web Part.
Below are useful reference links which helps us in calling
Batch API in SharePoint Online and Run Code snippets direct in chrome DevTools.
If you have any questions you can reach out our SharePoint Consulting team here.
No comments:
Post a Comment