Allow custom Dtos for endpoints
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Comienza en el punto de entrada de configuración de MapInstantAPIs y sigue cómo los tipos de entidad se convierten en modelos de solicitud de endpoint. Compara el flujo de inserción solicitado de AddFoodDto/UseCustomDto con el cuerpo de Swagger generado; se considera terminado cuando un llamador puede proporcionar un DTO personalizado para un endpoint y este se asigna a la entidad según lo solicitado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Suppose I have this class
`
public class Food : Record
{
public string Name { get; set; }
public decimal Portion { get; set; }
public decimal Calories { get; set; }
public decimal Carbohydrates { get; set; }
public decimal Lipids { get; set; }
public decimal Proteins { get; set; }
public decimal Fiber { get; set; }
public Guid SourceId { get; set; }
public Source Source { get; set; }
public Classification Classification { get; set; }
public NewClassification NewClassification { get; set; }
public ICollection<FoodRecipes> FoodRecipes { get; set; }
}
`
When using InstantAPIs, the following swagger body model is created
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registration": "2023-09-04T02:26:10.760Z",
"update": "2023-09-04T02:26:10.760Z",
"deletion": "2023-09-04T02:26:10.760Z",
"name": "string",
"portion": 0,
"calories": 0,
"carbohydrates": 0,
"lipids": 0,
"proteins": 0,
"fiber": 0,
"sourceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"source": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registration": "2023-09-04T02:26:10.760Z",
"update": "2023-09-04T02:26:10.760Z",
"deletion": "2023-09-04T02:26:10.760Z",
"name": "string"
},
"classification": 0,
"newClassification": 0,
"foodRecipes": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registration": "2023-09-04T02:26:10.760Z",
"update": "2023-09-04T02:26:10.760Z",
"deletion": "2023-09-04T02:26:10.760Z",
"recipeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"recipe": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registration": "2023-09-04T02:26:10.760Z",
"update": "2023-09-04T02:26:10.760Z",
"deletion": "2023-09-04T02:26:10.760Z",
"name": "string",
"foodRecipes": [
"string"
]
},
"foodId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"food": "string"
}
]
}
I wish there would be a way to provide custom DTOs and maybe using AutoMapper to transforming to entity class, like
app.MapInstantAPIs<EuNutroContext>(config =>
{
config.ExcludeTable(db => db.AnyTable);
config.UseCustomDto(db => db.Food, typeof(AddFoodDto), ApiMethodsToGenerate.Insert); // like this
});
- Lenguaje dominante
- C#
- Estrellas
- 453
- Forks
- 58
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
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 csharpfritz/InstantAPIs
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
csharpfritz/InstantAPIs#74 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
csharpfritz/InstantAPIs#68 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
csharpfritz/InstantAPIs#65 · 8 comentarios ·
-
Validation layerAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
csharpfritz/InstantAPIs#61 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
csharpfritz/InstantAPIs#60 · 3 comentarios ·
Todos los issues de csharpfritz/InstantAPIs
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fluentassertions/fluentassertions#3353 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 Medio día Aptitud para principiantes 78/100
unoplatform/uno#24769 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
AvaloniaUI/Avalonia#22323 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
microsoft/onnxruntime-genai#2633 ·
Los mantenedores suelen responder en 1 día