我正在使用以下代码为我的Blazor WebAssembly项目生成C#客户端API。
现在我想从Newtonsoft.Json迁移到System.Text.Json,因为在一些较大的API请求中,我经常遇到非常慢的反序列化(长达几秒钟)。
我在网上找到了一些迁移指南,但我想继续使用我的NSwag工具链来生成我的API客户端,因为除此之外它工作得非常好。有人知道如何告诉NSwag工具链使用System.Text.Json而不是Newtonsoft.Json吗?
using (HttpResponseMessage response = client.GetAsync("https://localhost:5001/swagger/v1/swagger.json").Result)
{
using (HttpContent contentapi = response.Content)
{
var json = contentapi.ReadAsStringAsync().Result;
var document = await OpenApiDocument.FromJsonAsync(json);
var settings = new CSharpClientGeneratorSettings
{
ClassName = "Client",
CSharpGeneratorSettings =
{
Namespace = "MyProjectClient",
}
};
var generator = new CSharpClientGenerator(document, settings);
var code = generator.GenerateFile();
}
}
现在我想从Newtonsoft.Json迁移到System.Text.Json,因为在一些较大的API请求中,我经常遇到非常慢的反序列化(长达几秒钟)。
我在网上找到了一些迁移指南,但我想继续使用我的NSwag工具链来生成我的API客户端,因为除此之外它工作得非常好。有人知道如何告诉NSwag工具链使用System.Text.Json而不是Newtonsoft.Json吗?
cmd
版本中,我使用了/JsonLibrary:SystemTextJson
。 - joshcomley