kaaja-h / FSharp.SystemTextJson.Swagger

MIT License
4 stars 1 forks source link

FSharp.SystemTextJson.Swagger

Swagger settings for FSharp.SystemTextJson. Still experimantal

Usage

Only replace AddSwaggerGen with AddSwaggerForSystemTextJson

let builder =  WebApplication.CreateBuilder(args)
let fsOptions = JsonFSharpOptions() // setup options here 
//setup usage of JsonFSharpConverter                
builder.Services.AddControllers()
                    .AddJsonOptions(fun opts ->
                        opts.JsonSerializerOptions.Converters.Add(JsonFSharpConverter(fsOptions))) 
// setup usage of SwaggerForSystemTextJson - use instead AddSwaggerGen 
builder.Services.AddSwaggerForSystemTextJson(fsOptions)

let app = builder.Build()

if (app.Environment.IsDevelopment()) then
      app.UseSwagger() |> ignore
      app.UseSwaggerUI() |> ignore

What works

Not everything is now implemented. Some things works with limitations

Records

Tuples

Collections

Unions