Better response if invalid JSON is received through the API

This commit is contained in:
Mark McDowall 2019-04-06 19:21:59 -07:00
parent 7d131fbb3d
commit e325a5c27e
2 changed files with 12 additions and 3 deletions

View File

@ -30,7 +30,7 @@ namespace Sonarr.Http.Exceptions
if (content != null)
{
result = result + " :" + content;
result = $"{result}: {content}";
}
return result;

View File

@ -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>();
TResource resource;
try
{
resource = Request.Body.FromJson<TResource>();
}
catch (JsonReaderException e)
{
throw new BadRequestException($"Invalid request body. {e.Message}");
}
if (resource == null)
{