A few years ago I blogged about how to add Swagger examples for requests and responses. But those examples are rendered in JSON. What if your application supports XML, wouldn’t it be nice to see the examples in XML too? Let me show you how to set that up (in .NET Core).
Enable XML requests and responses
Firstly, you need to enable XML in your requests and responses.
services .AddMvc(options => { options.InputFormatters.Add(new XmlSerializerInputFormatter()); options.OutputFormatters.Add(new XmlSerializerOutputFormatter()); })
Swashbuckle will now show XML in the supported content types select list for the request:
and for the response:
Now you’ll need to consume version 5.0.0-beta or later of my Swashbuckle.AspNetCore.Filters NuGet package. Follow the instructions and implement IExamplesProvider<T>. Then when you choose application/xml in the request or response select list, you’ll see the example in XML format:
Or in JSON format (as before):