#define RDG11F // RDG11 RDG11F #if NEVER #elif RDG11 // using System.Text.Json.Serialization; var builder = WebApplication.CreateSlimBuilder(args); builder.Services.ConfigureHttpJsonOptions(options => { options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default); }); var app = builder.Build(); app.MapPut("/v1/todos/{id}", ([AsParameters] TodoRequest request) => Results.Ok(request.Todo)); app.Run(); public class TodoRequest { public int Id { get; set; } public Todo Todo { get; set; } private TodoRequest() { } } public record Todo(int Id, string Task); [JsonSerializable(typeof(Todo[]))] internal partial class AppJsonSerializerContext : JsonSerializerContext { } // #elif RDG11F // using System.Text.Json.Serialization; var builder = WebApplication.CreateSlimBuilder(args); builder.Services.ConfigureHttpJsonOptions(options => { options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default); }); var app = builder.Build(); app.MapPut("/v1/todos/{id}", ([AsParameters] TodoRequest request) => Results.Ok(request.Todo)); app.Run(); public class TodoRequest(int Id, Todo todo) { public int Id { get; set; } = Id; public Todo Todo { get; set; } = todo; } public record Todo(int Id, string Task); [JsonSerializable(typeof(Todo[]))] internal partial class AppJsonSerializerContext : JsonSerializerContext { } // #endif