Allow custom Dtos for endpoints
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia dal punto di ingresso della configurazione di MapInstantAPIs e traccia il modo in cui i tipi di entità diventano modelli di richiesta degli endpoint. Confronta il flusso di inserimento richiesto di AddFoodDto/UseCustomDto con il body Swagger generato; il lavoro è completato quando un chiamante può fornire un DTO personalizzato per un endpoint e questo viene mappato sull'entità come richiesto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
});
- Lingua principale
- C#
- Stelle
- 453
- Fork
- 58
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di csharpfritz/InstantAPIs
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
csharpfritz/InstantAPIs#74 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
csharpfritz/InstantAPIs#68 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
csharpfritz/InstantAPIs#65 · 8 commenti ·
-
Validation layer Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
csharpfritz/InstantAPIs#61 · 3 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
csharpfritz/InstantAPIs#60 · 3 commenti ·
Tutte le issue di csharpfritz/InstantAPIs
Issue simili
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Apertabug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
microsoft/vscode-azurefunctions#5197 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
microsoft/microsoft-ui-reactor#1274 ·