Skip to content

Commit 2b27158

Browse files
committed
Generate documentation for JSON:API endpoints
1 parent 86af528 commit 2b27158

File tree

22 files changed

+3907
-1162
lines changed

22 files changed

+3907
-1162
lines changed

src/JsonApiDotNetCore.OpenApi/JsonApiOperationIdSelector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ private string ApplyTemplate(string operationIdTemplate, ResourceType resourceTy
116116
string relationshipName = operationIdTemplate.Contains("[RelationshipName]") ? endpoint.RelativePath.Split("/").Last() : string.Empty;
117117

118118
// @formatter:wrap_chained_method_calls chop_always
119-
// @formatter:wrap_before_first_method_call true true
119+
// @formatter:wrap_before_first_method_call true
120120

121121
string pascalCaseOperationId = operationIdTemplate
122122
.Replace("[Method]", method)

src/JsonApiDotNetCore.OpenApi/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ private static void AddSwaggerGenerator(IServiceScope scope, IServiceCollection
7070
SetOperationInfo(swaggerGenOptions, controllerResourceMapping, namingPolicy);
7171
SetSchemaIdSelector(swaggerGenOptions, resourceGraph, namingPolicy);
7272
swaggerGenOptions.DocumentFilter<EndpointOrderingFilter>();
73+
swaggerGenOptions.OperationFilter<JsonApiOperationDocumentationFilter>();
7374

7475
setupSwaggerGenAction?.Invoke(swaggerGenOptions);
7576
});

src/JsonApiDotNetCore.OpenApi/SwaggerComponents/EndpointOrderingFilter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
1616
ArgumentGuard.NotNull(swaggerDoc);
1717
ArgumentGuard.NotNull(context);
1818

19-
List<KeyValuePair<string, OpenApiPathItem>> orderedEndpoints = swaggerDoc.Paths.OrderBy(GetPrimaryResourcePublicName)
19+
List<KeyValuePair<string, OpenApiPathItem>> endpointsInOrder = swaggerDoc.Paths.OrderBy(GetPrimaryResourcePublicName)
2020
.ThenBy(GetRelationshipName).ThenBy(IsSecondaryEndpoint).ToList();
2121

2222
swaggerDoc.Paths.Clear();
2323

24-
foreach ((string url, OpenApiPathItem path) in orderedEndpoints)
24+
foreach ((string url, OpenApiPathItem path) in endpointsInOrder)
2525
{
2626
swaggerDoc.Paths.Add(url, path);
2727
}

src/JsonApiDotNetCore.OpenApi/SwaggerComponents/JsonApiOperationDocumentationFilter.cs

Lines changed: 395 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)