You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Contributions to Swashbuckle.AspNetCore are welcomed in the form of constructive, reproducible bug reports, feature requests that align to the project's goals, or better still a PR that's accompanied with passing tests.
5
4
6
5
If you have general questions or feedback about using Swashbuckle.AspNetCore, PLEASE DON'T CREATE AN ISSUE AND POST TO STACKOVERFLOW INSTEAD.
7
6
8
-
## Bug Reports ##
7
+
## Bug Reports
9
8
10
9
If you're reporting a bug, please include a clear description of the issue, the version of Swashbuckle.AspNetCore you're using, and a set of clear repro steps.
11
10
12
11
Please remember that Swashbuckle.AspNetCore is a free and open-source project provided to the community with zero financial gain to the author(s). Any issues deemed to have a negative or arrogant tone will be closed without response.
13
12
14
-
## Feature Requests ##
13
+
## Feature Requests
15
14
16
-
Fundamentally, Swashbuckle.AspNetCore is a library that attempts to generate an accurate description for APIs built on ASP.NET Core, using [Swagger 2.0](https://swagger.io/docs/specification/2-0/basic-structure/), according to the routes, controllers and models that have been implemented. So, the resulting API documentation is driven by "actual" behavior as opposed to "intended" behavior. This is an important distinction to consider when submitting feature requests. For example, a feature that leverages built-in attributes that affect runtime behavior (e.g. AuthorizeAttribute, RequiredAttribute etc.) would be more aligned to the project goals than one that introduces custom attributes that drive documentation and nothing else.
15
+
Fundamentally, Swashbuckle.AspNetCore is a library that attempts to generate an accurate description for APIs built on ASP.NET Core, using [OpenAPI 3.0](https://swagger.io/docs/specification/v3_0/basic-structure/) (or [Swagger 2.0](https://swagger.io/docs/specification/2-0/basic-structure/)), according to the routes, controllers and models that have been implemented. So, the resulting API documentation is driven by "actual" behavior as opposed to "intended" behavior. This is an important distinction to consider when submitting feature requests. For example, a feature that leverages built-in attributes that affect runtime behavior (e.g. AuthorizeAttribute, RequiredAttribute etc.) would be more aligned to the project goals than one that introduces custom attributes that drive documentation and nothing else.
17
16
18
17
It's also worth noting that Swashbuckle.AspNetCore leverages the [swagger-ui project](https://github.com/swagger-api/swagger-ui) but doesn't actually implement any UI code. If you have a bug report or feature request that's UI-specific, PLEASE DON'T CREATE AN ISSUE HERE AND POST TO THE SWAGGER-UI REPO INSTEAD.
19
18
20
-
## Pull Requests ##
19
+
## Pull Requests
21
20
22
21
If you've identified a feature/bug fix that aligns to the project goals, or even just an addition to the docs, please submit a Pull Request (PR). If applicable, include tests and ensure all tests are passing locally before you commit.
|[Swashbuckle.AspNetCore.Swagger][swashbuckle-aspnetcore-swagger]|[][swashbuckle-aspnetcore-swagger]| Exposes OpenAPI JSON endpoints. It expects an implementation of `ISwaggerProvider` to be registered in the DI container, which it queries to retrieve `OpenApiDocument` instance(s) that are then exposed as serialized JSON. |
300
302
|[Swashbuckle.AspNetCore.SwaggerGen][swashbuckle-aspnetcore-swaggergen]|[][swashbuckle-aspnetcore-swaggergen]| Injects an implementation of `ISwaggerProvider` that can be used by the above component. This particular implementation generates `OpenApiDocument` instance(s) from your application endpoints (controllers, minimal endpoints etc.). |
301
303
|[Swashbuckle.AspNetCore.SwaggerUI][swashbuckle-aspnetcore-swaggerui]|[][swashbuckle-aspnetcore-swaggerui]| Exposes an embedded version of [swagger-ui][swagger-ui]. You specify the API endpoints where it can obtain OpenAPI documents from, and it uses them to power interactive documentation for your API. |
|[Swashbuckle.AspNetCore.Annotations][swashbuckle-aspnetcore-annotations]|[][swashbuckle-aspnetcore-annotations]| Includes a set of custom attributes that can be applied to controllers/endpoints, actions and models to enrich the generated documentation. |
308
310
|[Swashbuckle.AspNetCore.Cli][swashbuckle-aspnetcore-cli]|[][swashbuckle-aspnetcore-cli]| Provides a command line interface (CLI) for retrieving OpenAPI documents directly from an application start-up assembly and then writing to a file. |
309
311
|[Swashbuckle.AspNetCore.ReDoc][swashbuckle-aspnetcore-redoc]|[][swashbuckle-aspnetcore-redoc]| Exposes an embedded version of the [Redoc UI][redoc] (an alternative to [swagger-ui][swagger-ui]). |
@@ -313,7 +315,7 @@ Additionally, there are add-on packages (CLI tools, [an alternate UI using Redoc
313
315
These packages are provided by the .NET open-source community.
|[Swashbuckle.AspNetCore.Filters][swashbuckle-aspnetcore-filters]|[][swashbuckle-aspnetcore-filters]| Some useful Swashbuckle.AspNetCore filters which add additional documentation, e.g. request and response examples, authorization information, etc. See its README for more details. |
318
320
|[Unchase.Swashbuckle.AspNetCore.Extensions][unchase-swashbuckle-aspnetcore-extensions]|[][unchase-swashbuckle-aspnetcore-extensions]| Some useful extensions (filters), which add additional documentation, e.g. hide `PathItems` for unaccepted roles, fix enumerations for client code generation, etc. See its README for more details. |
319
321
|[MicroElements.Swashbuckle.FluentValidation][microelements-swashbuckle-fluentvalidation]|[][microelements-swashbuckle-fluentvalidation]| Use [FluentValidation][fluentvalidation] rules instead of ComponentModel attributes to augment generated OpenAPI schemas. |
@@ -325,8 +327,8 @@ The steps described above will get you up and running with minimal set up. Howev
325
327
326
328
Check out the table below for the full list of possible configuration options.
327
329
328
-
|**Component**|**Configuration and Customization**|
|**Swashbuckle.AspNetCore.Swagger**|[Change the Path for OpenAPI JSON Endpoints](docs/configure-and-customize-swagger.md#change-the-path-for-openapi-json-endpoints)|
331
333
||[Modify OpenAPI with Request Context](docs/configure-and-customize-swagger.md#modify-openapi-with-request-context)|
332
334
||[Serialize OpenAPI JSON in the 3.1 format](docs/configure-and-customize-swagger.md#serialize-openapi-in-the-31-format)|
Copy file name to clipboardExpand all lines: docs/migrating-to-v10.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,6 +85,7 @@ Migrating to Swashbuckle.AspNetCore v10+ will likely involve changes in the foll
85
85
}
86
86
}
87
87
```
88
+
88
89
- Update any use of `.Reference` properties (e.g. `OpenApiSchema.ReferenceV3`) to use the new `*Reference` class instead (e.g. `OpenApiSchemaReference`).
89
90
- Replace usage of the `OpenApiSchema.Type` property using a string (e.g. `"string"` or `"boolean"`) with the `JsonSchemaType` flags enumeration.
90
91
- Replace usage of the `OpenApiSchema.Nullable` property by OR-ing the `JsonSchemaType.Null` value to `OpenApiSchema.Type` (e.g. `schema.Type |= JsonSchemaType.Null;`).
0 commit comments