- return CommonService.defaultResponse(
- this.serverApi
- .get(this.resourceType, {
- params: CommonService.mapKeys(_.snakeCase)(params)
- }),
- this.actions
- );
+
+ if (QueryString.stringify(params).length <= 1500) {
+ return CommonService.defaultResponse(
+ this.serverApi.get(`/${this.resourceType}`, { params }),
+ this.actions,
+ true,
+ showErrors
+ );
+ } else {
+ // Using the POST special case to avoid URI length 414 errors.
+ // We must use urlencoded post body since api doesn't support form data
+ // const formData = new FormData();
+ const formData = new URLSearchParams();
+ formData.append("_method", "GET");
+ Object.keys(params).forEach(key => {
+ if (params[key] !== undefined) {
+ formData.append(key, params[key]);
+ }
+ });
+ return CommonService.defaultResponse(
+ this.serverApi.post(`/${this.resourceType}`, formData, {}),
+ this.actions,
+ true,
+ showErrors
+ );
+ }