Skip to content

Commit 11a49a9

Browse files
committed
chore: review
1 parent f27e020 commit 11a49a9

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

src/JsonApiDotNetCore/Serialization/JsonApiReader.cs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,20 @@ namespace JsonApiDotNetCore.Serialization
2121
public class JsonApiReader : IJsonApiReader
2222
{
2323
private readonly IJsonApiDeserializer _deserializer;
24-
private readonly IJsonApiRequest _jsonApiRequest;
24+
private readonly IJsonApiRequest _request;
2525
private readonly IResourceContextProvider _resourceContextProvider;
2626
private readonly TraceLogWriter<JsonApiReader> _traceWriter;
2727

2828
public JsonApiReader(IJsonApiDeserializer deserializer,
29-
IJsonApiRequest jsonApiRequest,
29+
IJsonApiRequest request,
3030
IResourceContextProvider resourceContextProvider,
3131
ILoggerFactory loggerFactory)
3232
{
3333
if (loggerFactory == null) throw new ArgumentNullException(nameof(loggerFactory));
3434

3535
_deserializer = deserializer ?? throw new ArgumentNullException(nameof(deserializer));
36-
_jsonApiRequest = jsonApiRequest ?? throw new ArgumentNullException(nameof(jsonApiRequest));
37-
_resourceContextProvider = resourceContextProvider;
36+
_request = request ?? throw new ArgumentNullException(nameof(request));
37+
_resourceContextProvider = resourceContextProvider ?? throw new ArgumentNullException(nameof(resourceContextProvider));
3838
_traceWriter = new TraceLogWriter<JsonApiReader>(loggerFactory);
3939
}
4040

@@ -80,14 +80,18 @@ private void ValidateIncomingResourceType(InputFormatterContext context, object
8080
{
8181
if (context.HttpContext.IsJsonApiRequest() && IsPatchOrPostRequest(context.HttpContext.Request))
8282
{
83-
var endPointResourceType = GetEndpointResourceType();
83+
var endpointResourceType = GetEndpointResourceType();
84+
if (endpointResourceType == null)
85+
{
86+
return;
87+
}
88+
8489
var bodyResourceTypes = GetBodyResourceTypes(model);
85-
8690
foreach (var bodyResourceType in bodyResourceTypes)
8791
{
88-
if (bodyResourceType != null && endPointResourceType != null && bodyResourceType != endPointResourceType)
92+
if (bodyResourceType != endpointResourceType)
8993
{
90-
var resourceFromEndpoint = _resourceContextProvider.GetResourceContext(endPointResourceType);
94+
var resourceFromEndpoint = _resourceContextProvider.GetResourceContext(endpointResourceType);
9195
var resourceFromBody = _resourceContextProvider.GetResourceContext(bodyResourceType);
9296

9397
throw new ResourceTypeMismatchException(new HttpMethod(context.HttpContext.Request.Method),
@@ -108,9 +112,9 @@ private void ValidatePatchRequestIncludesId(InputFormatterContext context, objec
108112
throw new InvalidRequestBodyException("Payload must include 'id' element.", null, body);
109113
}
110114

111-
if (_jsonApiRequest.Kind == EndpointKind.Primary && TryGetId(model, out var bodyId) && bodyId != _jsonApiRequest.PrimaryId)
115+
if (_request.Kind == EndpointKind.Primary && TryGetId(model, out var bodyId) && bodyId != _request.PrimaryId)
112116
{
113-
throw new ResourceIdMismatchException(bodyId, _jsonApiRequest.PrimaryId, context.HttpContext.Request.GetDisplayUrl());
117+
throw new ResourceIdMismatchException(bodyId, _request.PrimaryId, context.HttpContext.Request.GetDisplayUrl());
114118
}
115119
}
116120
}
@@ -184,9 +188,9 @@ private IEnumerable<Type> GetBodyResourceTypes(object model)
184188

185189
private Type GetEndpointResourceType()
186190
{
187-
return _jsonApiRequest.Kind == EndpointKind.Primary
188-
? _jsonApiRequest.PrimaryResource.ResourceType
189-
: _jsonApiRequest.SecondaryResource?.ResourceType;
191+
return _request.Kind == EndpointKind.Primary
192+
? _request.PrimaryResource.ResourceType
193+
: _request.SecondaryResource?.ResourceType;
190194
}
191195
}
192196
}

0 commit comments

Comments
 (0)