首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成swagger json格式的WebAPI文档

生成swagger json格式的WebAPI文档
EN

Stack Overflow用户
提问于 2014-01-24 23:34:18
回答 3查看 20.8K关注 0票数 18

我已经使用API4.5创建了一个WebAPI,并希望使用Swagger来记录此.Net。我已经在我的.Net项目中添加了swagger-ui。现在,当我浏览到../ swagger - UI /index.html时,它成功地以swagger UI格式打开了pet store api-docs (json)。

我的问题是如何为我的WebAPI控制器和模型创建这样的(swagger) json?正如我已经向c#类和属性添加了所需的XML摘要/注释。

我看到Swagger.NetSwashbuckle正在做类似的事情,但我不能真正理解如何使用它们生成swagger-json文件。可能有一个非常小的错误,我正在做,但无法指出。

请帮帮忙。

EN

回答 3

Stack Overflow用户

发布于 2015-04-16 22:25:19

如上所述,/swagger会将您带到swagger UI。

如果你使用的是Swashbuckle,那么/swagger/docs/v1应该会把你带到swagger.json文件--我是用Chrome Dev工具找到的。

/swagger/v1/swagger.json:如果您使用的是Swashbuckle.AspNetCore,则url略有不同-Edit

票数 27
EN

Stack Overflow用户

发布于 2014-02-12 02:41:21

您需要将Swagger.NET集成到您的项目中,以便最终获得以下控制器:

代码语言:javascript
复制
public class SwaggerController : ApiController { /* snip */ }

您还应该注册以下路由:

代码语言:javascript
复制
context.Routes.MapHttpRoute (
name : "Swagger",
routeTemplate: "api/swagger"
defaults: new
{
  controller = "Swagger",
  action = "Get",
});

假设工作正常,您应该能够调用/api/swagger并获得如下内容:

代码语言:javascript
复制
{
  apiVersion: "4.0.0.0",
  swaggerVersion: "2.0",
  basePath: "http://localhost:5555",
  resourcePath: null,
  apis: [
  {
    path: "/api/docs/Values",
    description: "No Documentation Found.",
    operations: [ ]
  },
  {
    path: "/api/docs/Home",
    description: "No Documentation Found.",
    operations: [ ]
  }
]

}

然后,在SwaggerUI/index.html中,您需要更新discoveryUrl:

票数 4
EN

Stack Overflow用户

发布于 2017-09-14 20:14:55

您可以使用NSwagStudio桌面应用程序加载json文档,而无需运行api项目。通过提供api程序集。

https://github.com/RSuter/NSwag/wiki/NSwagStudio

下载(NSwagStudio) windows桌面应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21336488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档