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

咨询Swagger JSON Schema存储位置:ASP.NET项目中Swashbuckle生成文件在哪

关于Swagger JSON Schema存储位置的解答

嘿,我来帮你理清这两个问题:

  • Swagger JSON Schema的默认存储位置
    对于使用Swashbuckle的ASP.NET项目来说,默认情况下这个JSON Schema并不会存储在磁盘上,而是仅存在于内存中。它是在应用程序运行时,由Swashbuckle的中间件动态生成的。

  • 为什么项目文件夹里找不到,但能通过URL访问到
    当你访问http://localhost:51659/swagger/v1/swagger.json时,其实是Swashbuckle实时生成并返回这个JSON内容,它并没有被持久化到本地磁盘的项目文件夹里——这也是你在本地文件系统里找不到对应物理文件的原因。

如果想要把这个JSON Schema保存到磁盘上,你可以通过自定义配置来实现。比如在你的ASP.NET项目中(以.NET 6+为例),可以在配置Swagger的代码后添加一段逻辑,在应用启动时将生成的JSON写入文件:

// 在builder.Services.AddSwaggerGen()之后添加
var serviceProvider = builder.Services.BuildServiceProvider();
var swaggerProvider = serviceProvider.GetRequiredService<ISwaggerProvider>();
var swaggerDocument = swaggerProvider.GetSwagger("v1");
var jsonContent = JsonSerializer.Serialize(swaggerDocument, new JsonSerializerOptions { WriteIndented = true });
// 将文件写入项目的输出目录
File.WriteAllText(Path.Combine(AppContext.BaseDirectory, "swagger-v1.json"), jsonContent);

这样启动应用后,就能在项目的输出目录(比如bin/Debug/net6.0这类路径)里找到生成的JSON文件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:51:08