Recipe: JSON with Suave.Json
// dotnet add package Suave.Json
open System.Runtime.Serialization
open Suave
open Suave.Filters
open Suave.Operators
open Suave.Json
[<DataContract>]
type Person =
{ [<field: DataMember(Name = "name")>] name : string
[<field: DataMember(Name = "age")>] age : int }
let echo =
mapJson (fun (p : Person) -> { p with name = p.name.ToUpperInvariant() })
let app = POST >=> path "/echo" >=> echo
startWebServer defaultConfig appAlso see Requests & responses.