Quantcast
Channel: Active questions tagged rest - Stack Overflow
Viewing all articles
Browse latest Browse all 3655

DELETE request works from insomnia/postman but not from the frontend

$
0
0

DELETE request give 204 response code from Insomnia/Postman, but from the frontend it gives error for Delete request.Please find my Service code below :

public bool Dissociate(string envCode, string serialNumber, string gatewayType)        {            envCode.ThrowIfNull();            serialNumber.ThrowIfNull();            gatewayType.ThrowIfNull();            if (!IsAssociated(envCode, serialNumber, gatewayType))            {                _logService.Warn($"DspService - Dissociate - {gatewayType} {serialNumber} not associated to DSP tenant on environment {envCode}");                return false;            }            EnvironmentSettings dspEnvSettings = GetEnvironmentSettings(envCode);            string baseUri = DspHelper.GetBaseUriByAction(dspEnvSettings, DspActionType.Dissociate);            string dspDeviceId = DspHelper.BuildDeviceId(serialNumber, gatewayType, true);            string uri = $"{baseUri}/registry/devices/{dspDeviceId}/claim";            var body = new            {                Claimable = true            };            try            {                var authToken = GetAuthorizationHeader(dspEnvSettings, DspActionType.Dissociate);                RunDspCommand<bool>(dspEnvSettings, uri, authToken, body, HttpMethod.Put, DspActionType.Dissociate);                return true;            }            catch (Exception e)            {                _logService.ErrorException(e, $"DspService - Dissociate - Error dissociating {gatewayType} {serialNumber} on environment {envCode}. {uri}");                throw;            }        }

Please find my insomnia response:
enter image description here


enter image description here

CONTROLLER :

[AcceptVerbs("DELETE")]        [Route("dissociate")]        public bool Dissociate([FromUri] string gatewayType, [FromUri] string gatewaySerial)        {            if (string.IsNullOrEmpty(gatewaySerial) || string.IsNullOrEmpty(gatewayType))            {                this.BadRequestResponse();            }            var connectedUser = this.permissionService.GetConnectedUser();            this.permissionService.CheckRolePermission(connectedUser.Role, PermissionConstant.DissociateComX);            bool hasSucceeded = this.dspService.Dissociate(connectedUser.CurrentEnvironment, gatewaySerial, gatewayType);            if (hasSucceeded)            {                this.applicationDataAccess.LogAction(connectedUser.CurrentEnvironment, connectedUser.Email, LogActionConstants.Action.DissociateComX, string.Format(LogActionConstants.Message.DissociateComX, gatewayType, gatewaySerial));            }            else            {                this.BadRequestResponse("cannot deprovioned comx");            }            return hasSucceeded;        }

It gives the exception in the Service Code:

RunDspCommand<bool>(dspEnvSettings, uri, authToken, body, HttpMethod.Put, DspActionType.Dissociate);

Below is my front end code.
controller.ts

dissociateGateway() {      if (!this.isDspGateway || this.isLoadingDspState || this.isDissociating        || this.gateway.FirmwareUpgradeWorkflow || this.gateway.DeleteGatewayWorkflow        || !this.isAssociated()) {        return;      }      this.modalService.confirm(        `The ${this.gateway.Type} ${this.gateway.SerialNumber} will be dissociated from its DSP tenant ${this          .dspGatewayState.Tenant}.`,'Are you sure you want to dissociate the gateway from DSP tenant?')        .then(() => {          this.isDissociating = true;          this.dspService.dissociate(this.gateway.Type, this.getDeviceId())            .then(() => this.getDspGatewayState())            .catch((e) => {              if (e) {                this.modalService.error('Error dissociating the gateway. Please retry later');              }            })            .finally(() => this.isDissociating = false);        });    }

service.ts

dissociate(gatewayType: string, gatewaySerial: string): ng.IPromise<boolean> {    var uri = this.ROUTES.dissociate        .replace('{:gatewayType}', gatewayType.toString())        .replace('{:gatewaySerial}', gatewaySerial);    return this.restService        .delete(uri, null)        .then((response: any) => {            return response;        })        .catch((response: any) => {            return this.$q.reject(response);        });}

Path :

dissociate: '/dsp/dissociate?gatewaytype={:gatewayType}&gatewaySerial={:gatewaySerial}',

If you need more information please comment below.Please help me.


Viewing all articles
Browse latest Browse all 3655

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>