Вот IDocumentFilter, который вставляет «x-code-samples» в параметр
public class InjectSamples : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context)
{
PathItem path = swaggerDoc.Paths.Where(x => x.Key.Contains("Values")).First().Value;
path.Post.Parameters.FirstOrDefault().Extensions.Add("x-code-samples", "123456");
}
}
Да, вы можете усложнить все это аннотациями, но Swashbuckle не поддерживает "x-code-samples", поэтому вам придется создавать свои собственные, и они будут использовать его в iDocFilter.
В комментариях, которые вы продолжали указывать, что IDocumentFilters добавляются после того, как документ червя был сгенерирован, да, мы хотим этого!
И сгенерированный swagger.json с этим выглядит так:
"post": {
"tags": [ "Values" ],
"operationId": "ApiValuesPost",
"consumes": [ "application/json" ],
"produces": [],
"parameters": [
{
"name": "value",
"in": "body",
"required": false,
"schema": { "type": "string" },
"x-code-samples": "123456"
}
],
"responses": {
"200": { "description": "Success" }
}
}