Consider returning reference type from `AddComponent` API
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- csharp
- Área
- api, backend-api-design
Línea de trabajo
Comienza por localizar la implementación de la API AddComponent y cualquier cobertura existente para el registro de componentes de documentos. Compara su resultado booleano actual con el ejemplo de AddOperationTransformer y, a continuación, verifica que la referencia devuelta representa el esquema insertado mientras el comportamiento de registro existente permanece intacto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The AddComponent API currently returns a boolean that indicates if the addition of the component to the document registry succeeded.
It would be nice if the API returned a reference to the item that was just constructed. In an M.A.OpenAPI transformer, I currently need to write:
options.AddOperationTransformer((operation, context, cancellationToken) =>
{
var schemaService = context.ApplicationServices.GetRequiredKeyedService<IOpenApiSchemaService>(context.DocumentName);
if (context.Description.RelativePath == "error")
{
var errorSchema = schemaService.GetOrCreateSchema(typeof(ProblemDetails));
context.Document.AddComponent("Error", errorSchema);
operation.Responses["500"] = new OpenApiResponse
{
Description = "Error",
Content =
{
["application/problem+json"] = new OpenApiMediaType
{
Schema = new OpenApiSchemaReference("Error", context.Document),
},
},
};
}
return Task.CompletedTask;
});
but would like to write:
options.AddOperationTransformer((operation, context, cancellationToken) =>
{
var schemaService = context.ApplicationServices.GetRequiredKeyedService<IOpenApiSchemaService>(context.DocumentName);
if (context.Description.RelativePath == "error")
{
var errorSchema = schemaService.GetOrCreateSchema(typeof(ProblemDetails));
var insertedSchema = context.Document.AddComponent("Error", errorSchema);
operation.Responses["500"] = new OpenApiResponse
{
Description = "Error",
Content =
{
["application/problem+json"] = new OpenApiMediaType
{
Schema = insertedSchema,
},
},
};
}
return Task.CompletedTask;
});
cc: @baywet I couldn't see if an API that did this existed already and figured I'd add the proposal.
- Lenguaje dominante
- C#
- Estrellas
- 1.6k
- Forks
- 286
- Merge medio
- 6 h 38 min
- PR fusionados (30 d)
- 35
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/OpenAPI.NET
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
microsoft/OpenAPI.NET#2798 ·
-
microsoft/OpenAPI.NET#3056 · 1 comentario · 1 reacción · 2 asignados ·
-
type:breaking-change
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
microsoft/OpenAPI.NET#3014 · 2 comentarios ·
-
Implement equality (`IEquatable<T>` and override object.Equals/GetHashCode) for object models Abiertohelp wanted
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
microsoft/OpenAPI.NET#2989 · 3 comentarios ·
-
help wanted type:feature
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
microsoft/OpenAPI.NET#2967 · 18 comentarios · 1 reacción ·
Todos los issues de microsoft/OpenAPI.NET
Issues similares
-
Add more to the documentation Abierto:watch: Not Triaged dotnet-fsharp/svc
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Azure/azure-sdk-for-net#63292 · 3 comentarios · 1 reacción ·
-
Issue-Enhancement Needs-Triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
PowerShell/PowerShell#28061 · 2 reacciones ·
-
dependencies needs-team-triage server-Azure.Mcp
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
aspnet-core/svc aspnetcore-signalr/subsvc doc-enhancement Pri2 SignalR
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
dotnet/AspNetCore.Docs#37729 ·