swagger

Asp Net Core Swagger自动生成接口文档

南楼画角 提交于 2019-12-26 08:03:05
Swagger是什么 Swagger工具为你的Asp Net Core生成漂亮的API文档。目前社会上大部分都是一个服务端为N个客户端提供接口,往往我们需要提供一个友好的API文档,Swagger的出现,几乎使得API文档完全自动化。 开始使用Swagger 此处我们使用开发IDE为VsCode,输入 dotnet new webapi -o SwaggerDemo 创建ASP.NET Core Web API项目 添加 Swashbuckle.AspNetCore包 (此处不讨论包的安装方法,请自行上网搜索),在.csproj文件中会生成如下引用 打开 Startup.cs 文件,添加如下代 public Startup(IConfiguration configuration, IHostingEnvironment env) { Configuration = configuration; this.Env = env; } public IHostingEnvironment Env { get; } public IConfiguration Configuration { get; } public string[] docs = new[] { "未分类" }; // This method gets called by the runtime. Use this

SpringMVC使用Swagger

微笑、不失礼 提交于 2019-12-26 08:02:21
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 我们这里使用SpringBoot来快速搭建一个MVC,同时使用Swagger插件。 pom.xml,主要是引用swagger2 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> <relativePath /> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org

c#中集成Swagger

谁说胖子不能爱 提交于 2019-12-26 08:02:04
Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 个人觉得,swagger的一个最大的优点是能实时同步api与文档。在项目开发过程中,发生过多次:修改代码但是没有更新文档,前端还是按照老旧的文档进行开发,在联调过程中才发现问题的情况(当然依据开闭原则,对接口的修改是不允许的,但是在项目不稳定阶段,这种情况很难避免)。 通过nuget安装程序集:  https://www.cnblogs.com/alunchen/p/6888002.html 通过命令安装:  Install-Package Swashbuckle  Install-Package Swagger.Net.UI 参考文章: https://www.cnblogs.com/Leo_wl/p/5463839.html       http://blog.csdn.net/wjk343977868/article/details/47086137      https://www.cnblogs.com/tianhengblogs/p/7290152.html      http://blog.csdn

C# WebAPI中使用Swagger

别说谁变了你拦得住时间么 提交于 2019-12-25 20:18:09
  随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、前后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要, swagger 就是一款让你更好的书写API文档的框架 。 其他API文档工具   没有API文档工具之前,大家都是手写API文档的,在什么地方书写的都有,有在 confluence 上写的,有在对应的项目目录下 readme.md 上写的,每个公司都有每个公司的玩法,无所谓好坏。 书写API文档的工具有很多,但是能称之为“框架”的,估计也只有 swagger 了。 在此先介绍一款其他的API文档工具,叫 rap ,这玩意儿用一句话就能概括:解放生产力,代替手写API的web工具。 RAP 写起来确实比手写文档要快, 可以选择某个项目,写针对某个项目的API RAP 是由阿里开发的,整个阿里都在用,还不错。github地址为: https://github.com/thx/RAP 当然咯, rap 不可能只有线上版本,肯定可以部署到私服上。 https://github.com/thx/RAP/wiki/deploy_manual_cn swagger rap 挺好的,但是和swagger比起来有点轻量。 先看看swagger的生态使用图:

springboot快速集成swagger

岁酱吖の 提交于 2019-12-25 18:34:31
今天技术总监说:小明,我们本次3.0改造,使用swagger2.0作为前后端分离的接口规范,它可以一键生成前后端的API,一劳永逸……小明:??? Spring Boot 框架是目前非常流行的微服务框架,我们很多情况下使用它来提供 Rest API,而对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。本文将使用 Swagger 2 规范的 Springfox 实现来了解如何在 Spring Boot 项目中使用 Swagger,主要包含了如何使用 Swagger 自动生成文档、使用 Swagger 文档以及 Swagger 相关的一些高级配置和注解。 Swagger 简介 Swagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。Swagger 主要包含了以下三个部分: Swagger Editor:基于浏览器的编辑器,我们可以使用它编写我们 OpenAPI 规范。 Swagger UI:它会将我们编写的 OpenAPI 规范呈现为交互式的 API 文档,后文我将使用浏览器来查看并且操作我们的 Rest API。 Swagger Codegen:它可以通过为 OpenAPI(以前称为 Swagger

Json conversion in ASP.NET for CQRS

大城市里の小女人 提交于 2019-12-25 16:57:24
问题 I'm trying to overcome a problem with command handling, there are easier ways using flags and enums, but if I can make a magical class that stops coupling I want it. Basically I have a simple class: public class ServiceProperty<T> { public T Value { get; set; } } And all I want is to map the data simply. The reason behind this class is that we want the "update" command to be flexible (e.g. the client can update one attribute without being forced to send everything, risking reverting a change

【最新】SSM框架中的前后端分离

被刻印的时光 ゝ 提交于 2019-12-25 16:23:27
文章目录 1.认识前后端分离 2.分离的四个好处 3.利用Swagger UI来规范书写API文档 1.认识前后端分离 在传统的web应用开发中,大多数的程序员会将浏览器作为前后端的分界线。将浏览器中为用户进行页面展示的部分称之为前端,而将运行在服务器,为前端提供业务逻辑和数据准备的所有代码统称为后端。 由于前后端分离这个概念相对来说刚出现不久,很多人都是只闻其声,不见其形,所以可能会对它产生一些误解,误以为前后端分离只是一种web应用开发模式,只要在web应用的开发期进行了前后端开发工作的分工就是前后端分离。 其实 前后端分离并不只是开发模式,而是web应用的一种架构模式 。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试;在运行阶段前后端分离模式需要对web应用进行分离部署,前后端之前使用HTTP或者其他协议进行交互请求。然而作为一种架构模式,我们在实施的过程中主要对以下四个方面来进行比较和重新认识。 前后端分离大概可以从四个方面来理解: 交互形式 代码组织方式 开发模式 数据接口规范流程 一、交互形式 在前后端分离架构中,后端只需要负责按照约定的数据格式向前端提供可调用的API服务即可。前后端之间通过HTTP请求进行交互,前端获取到数据后,进行页面的组装和渲染,最终返回给浏览器。 二、代码组织方式 在传统架构模式中,前后端代码存放于同一个代码库中

@JsonIgnore is not working in the Swagger JSON generation when using jaxrs-analyzer

荒凉一梦 提交于 2019-12-25 11:26:11
问题 I'm using jaxrs-analyzer to generate Swagger JSON docs. In my POJO classes I have added @JsonIgnore annotation to skip them in the JSON doc, but I still see that portion in my swagger JSON doc, which then causes the following issue when loading Swagger UI: swagger.js:744 Uncaught TypeError: Cannot read property '$ref' of undefined` @JsonIgnore public Set<HistoryTankSystem> getHistoryStatusSet() { return historyStatusSet; } "historyStatusSet" : { "type": "array", "items": { "$ref":

测试自动化的边缘DevTestOps

女生的网名这么多〃 提交于 2019-12-25 10:17:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> DevTestOps和DevSecOps是DevOps中测试自动化的必要组件。 随着软件开发人员和测试人员开始转向DevOps,软件开发的生命周期正在迅速发展。从一开始,组织就具有一个简单的开发和运营流程,但是现在用户要求每种产品都具有持续快速增强和改进的体验的能力。放多项目都已经拥抱DevOps,但是软件开发的多样性和不确定性使企业继续使用DevOps更具挑战性。 什么是DevOps DevOps使企业能够通过自动化基础架构、工作流和持续衡量应用程序的质量来改善开发人员和运营团队之间的协作和生产力。借助DevOps,开发人员可以分小块编写代码,以便可以尽快对其进行集成,测试,监视和部署,从而加快了开发过程。 DevOps集成使软件团队可以改善部署的发生率并减少新代码的部署时间。它提供了一种快速迭代方法,可以定期监控和改进软件产品。为了验证更新后的代码是否正常运行,需要进行连续测试。 在完成一个项目的测试之后需要进行连续测试,连续测试是网站或应用程序成功的关键因素之一。实际上,它被认为是自动化测试的最佳实践之一。另一方面,许多组织主要关注高级应用程序开发过程和DevOps实施以优化整体效率。 简而言之,连续测试有助于填补开发人员和测试人员之间的鸿沟。因此,当开发人员完成更新代码之类的工作时

How to document implicitly dto usage, when we use entity class as api param?

穿精又带淫゛_ 提交于 2019-12-25 08:49:24
问题 There are a problem, when we use Jersey2 resource with implicitly dto usage. Example: @POST @ApiOperation(value = "Create pet", response = PetDTO.class) public Pet create(Pet pet) throws IOException { return this.petService.save(pet); } In this example we implicitly get petDto as param, and than map it to entity. The question is, is the way to how to configure swagger to document PetDTO as api param, not Pet? 回答1: It can be done next way: @POST @ApiOperation(value = "Create pet", response =