From 2d5bc9920333be513c012714f343911a386310e6 Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Mon, 13 Apr 2020 17:22:06 +0200 Subject: [PATCH 1/2] Fixed: stackTrace:null in output when options.IncludeExceptionStackTraceInErrors = false --- .../Models/JsonApiDocuments/ErrorMeta.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/JsonApiDotNetCore/Models/JsonApiDocuments/ErrorMeta.cs b/src/JsonApiDotNetCore/Models/JsonApiDocuments/ErrorMeta.cs index f271924768..6d09bd627c 100644 --- a/src/JsonApiDotNetCore/Models/JsonApiDocuments/ErrorMeta.cs +++ b/src/JsonApiDotNetCore/Models/JsonApiDocuments/ErrorMeta.cs @@ -15,8 +15,15 @@ public sealed class ErrorMeta public void IncludeExceptionStackTrace(Exception exception) { - Data["StackTrace"] = exception?.Demystify().ToString() - .Split(new[] {"\n"}, int.MaxValue, StringSplitOptions.RemoveEmptyEntries); + if (exception == null) + { + Data.Remove("StackTrace"); + } + else + { + Data["StackTrace"] = exception.Demystify().ToString() + .Split(new[] { "\n" }, int.MaxValue, StringSplitOptions.RemoveEmptyEntries); + } } } } From fef483d8f38eb0ac68dd1467aad7d829e11a6fe5 Mon Sep 17 00:00:00 2001 From: Bart Koelman Date: Mon, 13 Apr 2020 17:22:28 +0200 Subject: [PATCH 2/2] Fixed: crash when using obfuscated IDs --- src/JsonApiDotNetCore/Services/DefaultResourceService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/JsonApiDotNetCore/Services/DefaultResourceService.cs b/src/JsonApiDotNetCore/Services/DefaultResourceService.cs index e277f21d65..9df4450cfc 100644 --- a/src/JsonApiDotNetCore/Services/DefaultResourceService.cs +++ b/src/JsonApiDotNetCore/Services/DefaultResourceService.cs @@ -213,7 +213,7 @@ public virtual async Task UpdateAsync(TId id, TResource requestEntity } _repository.FlushFromCache(databaseEntity); - TResource afterEntity = await _repository.Get(databaseEntity.Id).FirstOrDefaultAsync(); + TResource afterEntity = await _repository.Get(id).FirstOrDefaultAsync(); _resourceChangeTracker.SetFinallyStoredAttributeValues(afterEntity); bool hasImplicitChanges = _resourceChangeTracker.HasImplicitChanges();