diff --git a/src/Sonarr.Http/Exceptions/ApiException.cs b/src/Sonarr.Http/Exceptions/ApiException.cs index 0eefd8474..85824ba51 100644 --- a/src/Sonarr.Http/Exceptions/ApiException.cs +++ b/src/Sonarr.Http/Exceptions/ApiException.cs @@ -30,7 +30,7 @@ namespace Sonarr.Http.Exceptions if (content != null) { - result = result + " :" + content; + result = $"{result}: {content}"; } return result; diff --git a/src/Sonarr.Http/REST/RestModule.cs b/src/Sonarr.Http/REST/RestModule.cs index 65596501f..7438bc36f 100644 --- a/src/Sonarr.Http/REST/RestModule.cs +++ b/src/Sonarr.Http/REST/RestModule.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using FluentValidation; using Nancy; +using Newtonsoft.Json; using NzbDrone.Core.Datastore; using Sonarr.Http.Extensions; @@ -194,8 +195,16 @@ namespace Sonarr.Http.REST protected TResource ReadResourceFromRequest(bool skipValidate = false) { - //TODO: handle when request is null - var resource = Request.Body.FromJson(); + TResource resource; + + try + { + resource = Request.Body.FromJson(); + } + catch (JsonReaderException e) + { + throw new BadRequestException($"Invalid request body. {e.Message}"); + } if (resource == null) {