You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 5 Azure Function HTTP响应如何直接返回纯字符串并带200状态码

解决方案

你当前使用的是.NET 5 隔离进程模型的Azure Function,直接使用OkObjectResult会将整个结果对象序列化输出,因此会返回包含Value、Formatters等字段的JSON结构,而非你需要的纯字符串。

方案1:使用原生HttpResponseData构造响应(官方推荐)

将方法返回值修改为HttpResponseData,直接构造响应内容:

public static async Task<HttpResponseData> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequestData req,
    ILogger log)
{
    string result = "for the love of god, I just want to return this string";
    
    if (result == null)
    {
        return req.CreateResponse(System.Net.HttpStatusCode.InternalServerError);
    }

    var response = req.CreateResponse(System.Net.HttpStatusCode.OK);
    response.Headers.Add("Content-Type", "text/plain; charset=utf-8");
    await response.WriteStringAsync(result);
    return response;
}

方案2:保留IActionResult返回类型,改用ContentResult

无需修改方法签名,直接替换返回逻辑即可:

return result != null 
    ? new ContentResult { Content = result, ContentType = "text/plain", StatusCode = 200 } 
    : new StatusCodeResult(500);

内容的提问来源于stack exchange,提问作者Rob Bowman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 10:21:03