Fixed: hide duplicate stacktrace for ModelState errors #905
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since the recent change to make
InvalidModelStateExceptionderive fromJsonApiException, long (unhelpful) stack traces are returned when multiple ModelState violations occur.This is because Ben.Demystifier changes the stack trace of exceptions in-place, making it longer each time the same exception is rendered.
Adding stack traces from
ExceptionHandleris unneeded in this case, becauseInvalidModelStateExceptionitself already adds any stack traces returned from ModelState validation.To illustrate, the response body for 4 violations from before this PR looked like:
{ "errors": [ { "id": "c7ecd3ac-babc-4635-a16c-f11d69e9004e", "status": "422", "title": "Input validation failed.", "detail": "The LastName field is required.", "source": { "pointer": "/data/attributes/last-name" }, "meta": { "stack-trace": [ "JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\r", " {\r", " \"Id\": \"c7ecd3ac-babc-4635-a16c-f11d69e9004e\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The LastName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/last-name\"\r", " }\r", " },\r", " {\r", " \"Id\": \"10fdce4c-0c84-4371-a667-6dff84f0cbcc\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The field Location must be a string or array type with a maximum length of '255'.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/location\"\r", " }\r", " },\r", " {\r", " \"Id\": \"8c0a0e68-3b40-4add-93fe-c9675803f757\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The FirstName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/first-name\"\r", " }\r", " },\r", " {\r", " \"Id\": \"8fb6b2e7-3886-42bb-abc2-488e54855196\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The EmployeeId field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/employee-id\"\r", " }\r", " }\r", "]\r", " at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\r", " at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\r", " at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\r", " at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)" ] } }, { "id": "10fdce4c-0c84-4371-a667-6dff84f0cbcc", "status": "422", "title": "Input validation failed.", "detail": "The field Location must be a string or array type with a maximum length of '255'.", "source": { "pointer": "/data/attributes/location" }, "meta": { "stack-trace": [ "JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\r", " {\r", " \"Id\": \"c7ecd3ac-babc-4635-a16c-f11d69e9004e\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The LastName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/last-name\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"10fdce4c-0c84-4371-a667-6dff84f0cbcc\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The field Location must be a string or array type with a maximum length of '255'.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/location\"\r", " }\r", " },\r", " {\r", " \"Id\": \"8c0a0e68-3b40-4add-93fe-c9675803f757\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The FirstName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/first-name\"\r", " }\r", " },\r", " {\r", " \"Id\": \"8fb6b2e7-3886-42bb-abc2-488e54855196\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The EmployeeId field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/employee-id\"\r", " }\r", " }\r", "]\r", " at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\r", " at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\r", " at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\r", " at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)" ] } }, { "id": "8c0a0e68-3b40-4add-93fe-c9675803f757", "status": "422", "title": "Input validation failed.", "detail": "The FirstName field is required.", "source": { "pointer": "/data/attributes/first-name" }, "meta": { "stack-trace": [ "JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\r", " {\r", " \"Id\": \"c7ecd3ac-babc-4635-a16c-f11d69e9004e\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The LastName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/last-name\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"10fdce4c-0c84-4371-a667-6dff84f0cbcc\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The field Location must be a string or array type with a maximum length of '255'.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/location\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" },\\r\",\r", " \" \\\"Meta\\\": {\\r\",\r", " \" \\\"StackTrace\\\": [\\r\",\r", " \" \\\"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The LastName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/last-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The field Location must be a string or array type with a maximum length of '255'.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/location\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The FirstName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/first-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The EmployeeId field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/employee-id\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\"]\\\\r\\\",\\r\",\r", " \" \\\" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\\\r\\\",\\r\",\r", " \" \\\" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\\\r\\\",\\r\",\r", " \" \\\" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\\\"\\r\",\r", " \" ]\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"8c0a0e68-3b40-4add-93fe-c9675803f757\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The FirstName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/first-name\"\r", " }\r", " },\r", " {\r", " \"Id\": \"8fb6b2e7-3886-42bb-abc2-488e54855196\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The EmployeeId field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/employee-id\"\r", " }\r", " }\r", "]\r", " at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\r", " at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\r", " at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\r", " at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)" ] } }, { "id": "8fb6b2e7-3886-42bb-abc2-488e54855196", "status": "422", "title": "Input validation failed.", "detail": "The EmployeeId field is required.", "source": { "pointer": "/data/attributes/employee-id" }, "meta": { "stack-trace": [ "JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\r", " {\r", " \"Id\": \"c7ecd3ac-babc-4635-a16c-f11d69e9004e\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The LastName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/last-name\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"10fdce4c-0c84-4371-a667-6dff84f0cbcc\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The field Location must be a string or array type with a maximum length of '255'.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/location\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" },\\r\",\r", " \" \\\"Meta\\\": {\\r\",\r", " \" \\\"StackTrace\\\": [\\r\",\r", " \" \\\"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The LastName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/last-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The field Location must be a string or array type with a maximum length of '255'.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/location\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The FirstName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/first-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The EmployeeId field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/employee-id\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\"]\\\\r\\\",\\r\",\r", " \" \\\" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\\\r\\\",\\r\",\r", " \" \\\" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\\\r\\\",\\r\",\r", " \" \\\" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\\\"\\r\",\r", " \" ]\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"8c0a0e68-3b40-4add-93fe-c9675803f757\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The FirstName field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/first-name\"\r", " },\r", " \"Meta\": {\r", " \"StackTrace\": [\r", " \"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The LastName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/last-name\\\"\\r\",\r", " \" },\\r\",\r", " \" \\\"Meta\\\": {\\r\",\r", " \" \\\"StackTrace\\\": [\\r\",\r", " \" \\\"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The LastName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/last-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The field Location must be a string or array type with a maximum length of '255'.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/location\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The FirstName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/first-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The EmployeeId field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/employee-id\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\"]\\\\r\\\",\\r\",\r", " \" \\\" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\\\r\\\",\\r\",\r", " \" \\\" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\\\r\\\",\\r\",\r", " \" \\\" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\\\"\\r\",\r", " \" ]\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The field Location must be a string or array type with a maximum length of '255'.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/location\\\"\\r\",\r", " \" },\\r\",\r", " \" \\\"Meta\\\": {\\r\",\r", " \" \\\"StackTrace\\\": [\\r\",\r", " \" \\\"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The LastName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/last-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Meta\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"StackTrace\\\\\\\": [\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"JsonApiDotNetCore.Errors.InvalidModelStateException: Errors = [\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Id\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"c7ecd3ac-babc-4635-a16c-f11d69e9004e\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"422\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"Input validation failed.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Detail\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"The LastName field is required.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Source\\\\\\\\\\\\\\\": {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Pointer\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"/data/attributes/last-name\\\\\\\\\\\\\\\"\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" }\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" },\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Id\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"422\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"Input validation failed.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Detail\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"The field Location must be a string or array type with a maximum length of '255'.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Source\\\\\\\\\\\\\\\": {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Pointer\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"/data/attributes/location\\\\\\\\\\\\\\\"\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" }\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" },\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Id\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"422\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"Input validation failed.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Detail\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"The FirstName field is required.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Source\\\\\\\\\\\\\\\": {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Pointer\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"/data/attributes/first-name\\\\\\\\\\\\\\\"\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" }\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" },\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Id\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Status\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"422\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Title\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"Input validation failed.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Detail\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"The EmployeeId field is required.\\\\\\\\\\\\\\\",\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Source\\\\\\\\\\\\\\\": {\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" \\\\\\\\\\\\\\\"Pointer\\\\\\\\\\\\\\\": \\\\\\\\\\\\\\\"/data/attributes/employee-id\\\\\\\\\\\\\\\"\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" }\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" }\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"]\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\\\\\\\r\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" ]\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"10fdce4c-0c84-4371-a667-6dff84f0cbcc\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The field Location must be a string or array type with a maximum length of '255'.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/location\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The FirstName field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/first-name\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" },\\\\r\\\",\\r\",\r", " \" \\\" {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Id\\\\\\\": \\\\\\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Status\\\\\\\": \\\\\\\"422\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Title\\\\\\\": \\\\\\\"Input validation failed.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Detail\\\\\\\": \\\\\\\"The EmployeeId field is required.\\\\\\\",\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Source\\\\\\\": {\\\\r\\\",\\r\",\r", " \" \\\" \\\\\\\"Pointer\\\\\\\": \\\\\\\"/data/attributes/employee-id\\\\\\\"\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\" }\\\\r\\\",\\r\",\r", " \" \\\"]\\\\r\\\",\\r\",\r", " \" \\\" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\\\r\\\",\\r\",\r", " \" \\\" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\\\r\\\",\\r\",\r", " \" \\\" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\\\r\\\",\\r\",\r", " \" \\\" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\\\r\\\",\\r\",\r", " \" \\\" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\\\r\\\",\\r\",\r", " \" \\\" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\\\"\\r\",\r", " \" ]\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8c0a0e68-3b40-4add-93fe-c9675803f757\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The FirstName field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/first-name\\\"\\r\",\r", " \" }\\r\",\r", " \" },\\r\",\r", " \" {\\r\",\r", " \" \\\"Id\\\": \\\"8fb6b2e7-3886-42bb-abc2-488e54855196\\\",\\r\",\r", " \" \\\"Status\\\": \\\"422\\\",\\r\",\r", " \" \\\"Title\\\": \\\"Input validation failed.\\\",\\r\",\r", " \" \\\"Detail\\\": \\\"The EmployeeId field is required.\\\",\\r\",\r", " \" \\\"Source\\\": {\\r\",\r", " \" \\\"Pointer\\\": \\\"/data/attributes/employee-id\\\"\\r\",\r", " \" }\\r\",\r", " \" }\\r\",\r", " \"]\\r\",\r", " \" at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\\r\",\r", " \" at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\\r\",\r", " \" at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\\r\",\r", " \" at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\\r\",\r", " \" at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\\r\",\r", " \" at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)\"\r", " ]\r", " }\r", " },\r", " {\r", " \"Id\": \"8fb6b2e7-3886-42bb-abc2-488e54855196\",\r", " \"Status\": \"422\",\r", " \"Title\": \"Input validation failed.\",\r", " \"Detail\": \"The EmployeeId field is required.\",\r", " \"Source\": {\r", " \"Pointer\": \"/data/attributes/employee-id\"\r", " }\r", " }\r", "]\r", " at async Task<IActionResult> JsonApiDotNetCore.Controllers.BaseJsonApiController<TResource, TId>.PostAsync(TResource resource, CancellationToken cancellationToken) in D:/Source/Repos/JsonApiDotNetCore/src/JsonApiDotNetCore/Controllers/BaseJsonApiController.cs:line 170\r", " at async ValueTask<IActionResult> Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)\r", " at TResult System.Runtime.CompilerServices.ValueTaskAwaiter<TResult>.GetResult()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()+Awaited(?)\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()+Awaited(?)\r", " at void Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)\r", " at Task Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r", " at async Task Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextExceptionFilterAsync()+Awaited(?)" ] } } ] }