如何配置ASP.NET Core Web Api控制器是否仅返回Development个环境的格式良好的json?

默认情况下,它会返回如下内容:

{"id":1,"code":"4315"}

为了便于阅读,我希望回复中有缩进:

{
    "id": 1,
    "code": "4315"
}

推荐答案

.NET Core 2.2 and lower:

Startup.cs文件中,调用AddJsonOptions扩展名:

services.AddMvc()
    .AddJsonOptions(options =>
    {
        options.SerializerSettings.Formatting = Formatting.Indented;
    });

请注意,此解决方案需要Newtonsoft.Json.

.NET Core 3.0 and higher:

Startup.cs文件中,调用AddJsonOptions扩展名:

services.AddMvc()
    .AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.WriteIndented = true;
    });

至于根据环境切换选项,this answer应该会有所帮助.

Asp.net相关问答推荐

如何将 JQuery 与母版页一起使用?

IIS 中 ASP.net 应用程序的单独应用程序池

如何使用特定视图(不是控制器名称)返回 ActionResult

如何在 IISExpress 上使用带有 localhost 的子域?

在 C# 中以编程方式添加元标记

SameSite 属性如何自动添加到我的 Asp.net_SessionID cookie 中?

无法让嵌套在 UpdatePanel 中的 WebControl 中的 ScriptManager.RegisterStartupScript 工作

多行文本框多个换行符

在属性中实现逻辑是一种好习惯吗

如何在 ASP.NET core rc2 中禁用浏览器缓存?

Web.config 导致被组策略阻止错误

在 Blazor 中 Select 框绑定

对 ASP.NET 2.0 网页进行单元测试的最佳方法是什么?

.NET AJAX 调用 ASMX 或 ASPX 或 ASHX?

为什么 HttpWebRequest 会抛出异常而不是返回 HttpStatusCode.NotFound?

哪个控件导致了回发?

ASP.NET - 从静态方法/静态类访问会话?

连接字符串正确时出现实例失败错误

如何修复 ASP.NET 错误文件 'nnn.aspx' 尚未预编译,无法请求.?

Session.Clear() 与 Session.RemoveAll()