Browse Source

Fix null reference issue for invalid query.

pull/664/head
Sebastian 5 years ago
parent
commit
b102e324d9
  1. 2
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs
  2. 4
      backend/src/Squidex.Infrastructure/Json/Newtonsoft/SurrogateConverter.cs

2
backend/src/Squidex.Infrastructure/Json/Newtonsoft/JsonClassConverter.cs

@ -28,7 +28,7 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
return ReadValue(reader, objectType, serializer); return ReadValue(reader, objectType, serializer);
} }
protected abstract T ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer); protected abstract T? ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer);
public sealed override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer) public sealed override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{ {

4
backend/src/Squidex.Infrastructure/Json/Newtonsoft/SurrogateConverter.cs

@ -12,11 +12,11 @@ namespace Squidex.Infrastructure.Json.Newtonsoft
{ {
public sealed class SurrogateConverter<T, TSurrogate> : JsonClassConverter<T> where T : class where TSurrogate : ISurrogate<T>, new() public sealed class SurrogateConverter<T, TSurrogate> : JsonClassConverter<T> where T : class where TSurrogate : ISurrogate<T>, new()
{ {
protected override T ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer) protected override T? ReadValue(JsonReader reader, Type objectType, JsonSerializer serializer)
{ {
var surrogate = serializer.Deserialize<TSurrogate>(reader); var surrogate = serializer.Deserialize<TSurrogate>(reader);
return surrogate!.ToSource(); return surrogate?.ToSource();
} }
protected override void WriteValue(JsonWriter writer, T value, JsonSerializer serializer) protected override void WriteValue(JsonWriter writer, T value, JsonSerializer serializer)

Loading…
Cancel
Save