Skip to content

Commit 3a387cb

Browse files
author
Bart Koelman
committed
Enhanced rendering of error.source.pointer on ModelState validation errors
1 parent 4c9d0f9 commit 3a387cb

File tree

104 files changed

+777
-362
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+777
-362
lines changed

CSharpGuidelinesAnalyzer.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<cSharpGuidelinesAnalyzerSettings>
33
<setting rule="AV1561" name="MaxParameterCount" value="6" />
4-
<setting rule="AV1561" name="MaxConstructorParameterCount" value="12" />
4+
<setting rule="AV1561" name="MaxConstructorParameterCount" value="13" />
55
</cSharpGuidelinesAnalyzerSettings>

docs/getting-started/step-by-step.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ where `TResource` is the model that inherits from `Identifiable<TId>`.
6969
```c#
7070
public class PeopleController : JsonApiController<Person, int>
7171
{
72-
public PeopleController(IJsonApiOptions options, ILoggerFactory loggerFactory,
73-
IResourceService<Person, int> resourceService)
74-
: base(options, loggerFactory, resourceService)
72+
public PeopleController(IJsonApiOptions options, IResourceGraph resourceGraph,
73+
ILoggerFactory loggerFactory, IResourceService<Person, int> resourceService)
74+
: base(options, resourceGraph, loggerFactory, resourceService)
7575
{
7676
}
7777
}

docs/usage/extensibility/controllers.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ You need to create controllers that inherit from `JsonApiController<TResource, T
55
```c#
66
public class ArticlesController : JsonApiController<Article, Guid>
77
{
8-
public ArticlesController(IJsonApiOptions options, ILoggerFactory loggerFactory,
9-
IResourceService<Article, Guid> resourceService)
10-
: base(options, loggerFactory, resourceService)
8+
public ArticlesController(IJsonApiOptions options, IResourceGraph resourceGraph,
9+
ILoggerFactory loggerFactory, IResourceService<Article, Guid> resourceService)
10+
: base(options, resourceGraph, loggerFactory, resourceService)
1111
{
1212
}
1313
}
@@ -24,9 +24,9 @@ This approach is ok, but introduces some boilerplate that can easily be avoided.
2424
```c#
2525
public class ArticlesController : BaseJsonApiController<Article, int>
2626
{
27-
public ArticlesController(IJsonApiOptions options, ILoggerFactory loggerFactory,
28-
IResourceService<Article, int> resourceService)
29-
: base(options, loggerFactory, resourceService)
27+
public ArticlesController(IJsonApiOptions options, IResourceGraph resourceGraph,
28+
ILoggerFactory loggerFactory, IResourceService<Article, int> resourceService)
29+
: base(options, resourceGraph, loggerFactory, resourceService)
3030
{
3131
}
3232

@@ -61,9 +61,9 @@ An attempt to use one of the blacklisted methods will result in a HTTP 405 Metho
6161
[HttpReadOnly]
6262
public class ArticlesController : BaseJsonApiController<Article, int>
6363
{
64-
public ArticlesController(IJsonApiOptions options, ILoggerFactory loggerFactory,
65-
IResourceService<Article, int> resourceService)
66-
: base(options, loggerFactory, resourceService)
64+
public ArticlesController(IJsonApiOptions options, IResourceGraph resourceGraph,
65+
ILoggerFactory loggerFactory, IResourceService<Article, int> resourceService)
66+
: base(options, resourceGraph, loggerFactory, resourceService)
6767
{
6868
}
6969
}
@@ -80,9 +80,9 @@ For more information about resource service injection, see [Replacing injected s
8080
```c#
8181
public class ReportsController : BaseJsonApiController<Report, int>
8282
{
83-
public ReportsController(IJsonApiOptions options, ILoggerFactory loggerFactory,
84-
IGetAllService<Report, int> getAllService)
85-
: base(options, loggerFactory, getAllService)
83+
public ReportsController(IJsonApiOptions options, IResourceGraph resourceGraph,
84+
ILoggerFactory loggerFactory, IGetAllService<Report, int> getAllService)
85+
: base(options, resourceGraph, loggerFactory, getAllService)
8686
{
8787
}
8888

docs/usage/extensibility/services.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,10 @@ Then in the controller, you should inherit from the base controller and pass the
156156
```c#
157157
public class ArticlesController : BaseJsonApiController<Article, int>
158158
{
159-
public ArticlesController(IJsonApiOptions options, ILoggerFactory loggerFactory,
160-
ICreateService<Article, int> create, IDeleteService<Article, int> delete)
161-
: base(options, loggerFactory, create: create, delete: delete)
159+
public ArticlesController(IJsonApiOptions options, IResourceGraph resourceGraph,
160+
ILoggerFactory loggerFactory, ICreateService<Article, int> create,
161+
IDeleteService<Article, int> delete)
162+
: base(options, resourceGraph, loggerFactory, create: create, delete: delete)
162163
{
163164
}
164165

docs/usage/routing.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public class OrderLine : Identifiable<int>
2929

3030
public class OrderLineController : JsonApiController<OrderLine, int>
3131
{
32-
public OrderLineController(IJsonApiOptions options, ILoggerFactory loggerFactory,
33-
IResourceService<OrderLine, int> resourceService)
34-
: base(options, loggerFactory, resourceService)
32+
public OrderLineController(IJsonApiOptions options, IResourceGraph resourceGraph,
33+
ILoggerFactory loggerFactory, IResourceService<OrderLine, int> resourceService)
34+
: base(options, resourceGraph, loggerFactory, resourceService)
3535
{
3636
}
3737
}
@@ -65,9 +65,9 @@ It is possible to bypass the default routing convention for a controller.
6565
[Route("v1/custom/route/lines-in-order"), DisableRoutingConvention]
6666
public class OrderLineController : JsonApiController<OrderLine, int>
6767
{
68-
public OrderLineController(IJsonApiOptions options, ILoggerFactory loggerFactory,
69-
IResourceService<OrderLine, int> resourceService)
70-
: base(options, loggerFactory, resourceService)
68+
public OrderLineController(IJsonApiOptions options, IResourceGraph resourceGraph,
69+
ILoggerFactory loggerFactory, IResourceService<OrderLine, int> resourceService)
70+
: base(options, resourceGraph, loggerFactory, resourceService)
7171
{
7272
}
7373
}

docs/usage/writing/bulk-batch-operations.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ To enable operations, add a controller to your project that inherits from `JsonA
1717
```c#
1818
public sealed class OperationsController : JsonApiOperationsController
1919
{
20-
public OperationsController(IJsonApiOptions options, ILoggerFactory loggerFactory,
21-
IOperationsProcessor processor, IJsonApiRequest request,
22-
ITargetedFields targetedFields)
23-
: base(options, loggerFactory, processor, request, targetedFields)
20+
public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph,
21+
ILoggerFactory loggerFactory, IOperationsProcessor processor,
22+
IJsonApiRequest request, ITargetedFields targetedFields)
23+
: base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
2424
{
2525
}
2626
}

src/Examples/GettingStarted/Controllers/BooksController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ namespace GettingStarted.Controllers
88
{
99
public sealed class BooksController : JsonApiController<Book, int>
1010
{
11-
public BooksController(IJsonApiOptions options, ILoggerFactory loggerFactory, IResourceService<Book, int> resourceService)
12-
: base(options, loggerFactory, resourceService)
11+
public BooksController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IResourceService<Book, int> resourceService)
12+
: base(options, resourceGraph, loggerFactory, resourceService)
1313
{
1414
}
1515
}

src/Examples/GettingStarted/Controllers/PeopleController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ namespace GettingStarted.Controllers
88
{
99
public sealed class PeopleController : JsonApiController<Person, int>
1010
{
11-
public PeopleController(IJsonApiOptions options, ILoggerFactory loggerFactory, IResourceService<Person, int> resourceService)
12-
: base(options, loggerFactory, resourceService)
11+
public PeopleController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IResourceService<Person, int> resourceService)
12+
: base(options, resourceGraph, loggerFactory, resourceService)
1313
{
1414
}
1515
}

src/Examples/JsonApiDotNetCoreExample/Controllers/OperationsController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ namespace JsonApiDotNetCoreExample.Controllers
99
{
1010
public sealed class OperationsController : JsonApiOperationsController
1111
{
12-
public OperationsController(IJsonApiOptions options, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
12+
public OperationsController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IOperationsProcessor processor, IJsonApiRequest request,
1313
ITargetedFields targetedFields)
14-
: base(options, loggerFactory, processor, request, targetedFields)
14+
: base(options, resourceGraph, loggerFactory, processor, request, targetedFields)
1515
{
1616
}
1717
}

src/Examples/JsonApiDotNetCoreExample/Controllers/PeopleController.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ namespace JsonApiDotNetCoreExample.Controllers
88
{
99
public sealed class PeopleController : JsonApiController<Person, int>
1010
{
11-
public PeopleController(IJsonApiOptions options, ILoggerFactory loggerFactory, IResourceService<Person, int> resourceService)
12-
: base(options, loggerFactory, resourceService)
11+
public PeopleController(IJsonApiOptions options, IResourceGraph resourceGraph, ILoggerFactory loggerFactory, IResourceService<Person, int> resourceService)
12+
: base(options, resourceGraph, loggerFactory, resourceService)
1313
{
1414
}
1515
}

0 commit comments

Comments
 (0)