【发布时间】:2021-07-06 18:23:56
【问题描述】:
将我的 Azure Functions 项目迁移到 .NET 5 后,它开始将我的响应包装在一个奇怪的包装类中。
例如,考虑以下端点:
public record Response(string SomeValue);
[Function("Get")]
public async Task<IActionResult> Get(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "get-something")]
HttpRequestData request)
{
return new OkObjectResult(new Response("hello world"));
}
之前,它会返回:
{
"someValue": "hello world"
}
但是现在,它返回了:
{
"Value": {
"SomeValue": "hello world"
},
"Formatters": [],
"ContentTypes": [],
"DeclaredType": null,
"StatusCode": 200
}
我知道它一定是因为它只是试图序列化对象结果,但我找不到任何关于它应该如何在 .NET 5 中工作的文档。
我的主要功能目前是这样的:
public static async Task Main()
{
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults(x =>
x.UseDefaultWorkerMiddleware())
.ConfigureAppConfiguration((_, builder) => builder
.AddJsonFile("local.settings.json", true)
.Build())
.ConfigureServices(ConfigureServices)
.Build();
await host.RunAsync();
}
我的项目在这里,如果有人感兴趣的话:https://github.com/sponsorkit/sponsorkit.io
目前,我的 .NET 5 工作位于名为 feature/signup-flow 的分支上。
【问题讨论】:
-
只返回没有包裹在 OkResult 中的记录
标签: c# azure asp.net-core azure-functions