swagger

ASP.NET CORE WEBAPI文件下载

折月煮酒 提交于 2020-04-12 07:32:37
最近要使用ASP.NET CORE WEBAPI用来下载文件,使用的.NET CORE 3.1。考虑如下场景: 文件是程序生成的。 文件应该能兼容各种格式。 浏览器可以感知进行下载。 准备 经过简单的调研,得到以下结论。 ASP.NET CORE 提供FileResult这种类型的ActionResult,可以直接返回文件结果,不需要直接处理HttpResponse。 通过Stream可以直接返回文件流供浏览器下载。 FileStreamResult是FileResult的具体实现,返回值应该是此类对象。 Stream有多种类型,适合直接内存中生成文件对象的是MemoryStream。 对目标有了基础的了解,就可以开始动手实现了。 实现 建立好ASP.NET CORE WEBAPI工程,把生成文件的代码独立出来一个函数。我这里需要是下载一个CSV格式的文件,因此生成一个CSV文件。 对于磁盘上的文件,可以使用FileStream对象,由于我这里需要运行中生成这个文件,需要使用MemoryStream。 using var stream = new MemoryStream(); using var writer = new StreamWriter(stream); //生成标题 var propCollection = ttype.GetProperties(); foreach

Can't read swagger JSON from https://localhost:44374/swagger/v1/swagger.json in asp.net core 2.0

寵の児 提交于 2020-04-11 17:59:05
问题 I am having trouble adding swaggerUI to my asp.net core 2 project. Its is not able to load the swagger.json file. I am using a custom css and layout for this documentation. below is my startup class and index.cshtml for swagger. public void ConfigureServices(IServiceCollection services) { services.AddSingleton(provider => Configuration); services.AddTransient<IRegistrationRepository, ServiceUtilities>(); services.AddTransient<IClientServiceConnector, ClientServiceValidation>(); services

基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (上篇)

守給你的承諾、 提交于 2020-04-10 10:55:56
前言 为什么在开发中,接口文档越来越成为前后端开发人员沟通的枢纽呢? 随着业务的发张,项目越来越多,而对于支撑整个项目架构体系而言,我们对系统业务的水平拆分,垂直分层,让业务系统更加清晰,从而产生一系统平台和系统,并使用接口进行数据交互。因此可见,业务的不断发展,接口不断增多,很多接口各自寄宿在不同的项目中,如果没有使用api工具进行管理,那么使用和说明将变得非常复杂。所以,接口管理运营应运而生。 在过去的开发中,没有API文档管理工具之前,很多的API文档在什么地方写的都有,有在word写的,有在excel写的,也有对应的项目目录下readme.md写的,每个公司都有每个公司的玩法,但是文档规范极其不统一,甚至出现开发接口更新,但文档不更新,最终导致代码和接口不匹配,开发功能出问题。撸码一分钟,对接三小时。这往往是大家最痛苦的。 因此,在前后端分离的情况下,怎样让前后端开发人员更容易、更直观、更舒服的方式进行沟通交流。在这里,推荐一款轻量级的项目框架Swagger给大家使用。Swagger就是一款让你更好书写API文档的框架 开始 一、 引用Swagger的nuget包 Swashbuckle.AspNetCore 然后就在项目的Nuget依赖里看到刚刚引入的Swagger 二、服务配置环节 在 Startup.cs 页面中: 编辑 ConfigureServices 类:

Can I indicate a regular expression requirement for a parameter value using Swagger?

空扰寡人 提交于 2020-04-10 07:41:08
问题 In my REST API, one of the submitted parameter values must be a code following the regex: /[A-Z]{2}[0-9]{4}/ Is there any way, besides putting it in the description property of the parameter, for me to indicate that the value is not valid if it does not match my regular expression? I was not able to find any mention of regex's in the Swagger doc, except as a way to identify Patterned Fields (which is not what I want to do). 回答1: You can use a field named pattern in your api's parameters if is

b2b2c系统jwt权限源码分享part2

女生的网名这么多〃 提交于 2020-04-09 18:17:02
  在上一篇《 b2b2c系统jwt权限源码分享part1 》中和大家分享了b2b2c系统中jwt权限的基础设计及源码,本文继续和大家分享jwt和spring security整合部分的思路和源码。 在上一篇文章中已经分享了关键的类图: 如上图所示,权限的校验主要涉及到四个类: AbstractAuthenticationService BuyerAuthenticationService SellerAuthenticationService AdminAuthenticationService AbstractAuthenticationService 对于三端(买家买家管理端)验权的公用部分我们抽象在AbstractAuthenticationService中: public abstract class AbstractAuthenticationService implements AuthenticationService { @Autowired protected TokenManager tokenManager; private final Logger logger = LoggerFactory.getLogger(getClass()); /** * 单例模式的cache */ private static Cache<String, Integer>

thinkphp6+swagger-php配置管理接口文档

99封情书 提交于 2020-04-07 13:37:24
swagger2 升级到了3,并改名为OpenAPI Spec,所有部分注解有一些变化,这里以thinkphp6+swagger-php3.0来配置 1、前端部分git或dowload一份swagger-ui到能够访问到服务目录中,如我这里nginx配置指向到thinkphp6根目录public中,所以download一份swagger-ui到该根目录中,swagger-ui下载地址https://github.com/swagger-api/swagger-ui 找到dist目录, 打开index.html把其中的url改成自己到服务器url,这里我以本地配置为例: 如果想支持中文在index.html中加上 <script src='lang/translator.js' type='text/javascript'> </script><script src='lang/zh-cn.js' type='text/javascript'></script> 原项目网页地址是: http://127.0.0.1:8806 , 现在接口前端ui地址是: http://127.0.0.1:8806/swagger-ui/dist/index.html , 此时因为没有配置swagger.json只能显示头部,无法显示接口详细信息 2、安装swagger-php后端

基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)

a 夏天 提交于 2020-04-05 18:45:33
前言 回顾之前的两篇 Swagger做Api接口文档 ,我们大体上学会了如何在net core3.1的项目基础上,搭建一套自动生产API接口说明文档的框架。 本来在Swagger的基础上,前后端开发人员在开发生产期间,可以借此进行更加便捷的沟通交流。可是总有些时候,遇到一些难缠的,又不讲道理,偏偏觉得将Swagger文档地址丢给客户会不够正式!死活要一份word文档。 可是这个时候,如果接口数量上百个,甚至更多,一个一个手动输入word,那将是一笔耗时的工作。但却有什么办法可以解决呢? 对了,利用Swagge生成的Json文件转换为word文档不就可以了吗? 思路 1. 获取Swagger接口文档的Json文件 2. 解析Json文件数据填充到Html的表格中 3.根据生成的html转work文档 模板 文档模板 URL /api/Movie/AddMovie 请求方式 Post 参数名 参数类型 是否必填 说明 id Query False 影视ID Name Query False 电影名称 Type Query False 电影类型 状态码 说明 200 Success 示例 请求参数 返回值 开始 一、根据Swagger版本获取Json数据 1.通过Swagger源码文件可以看到 可以拿到swagger生成的文档数据

DRF: drf_yasg swagger 文档http -> https

烂漫一生 提交于 2020-04-05 15:54:10
drf_yasg 文档https配置 参考 django 配置 settings.py USE_X_FORWARDED_HOST = True SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') nginx 配置 加入X-Forwarded-Proto在配置中 proxy_set_header X-Forwarded-Proto https /etc/nginx/conf.d/app_server.conf location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://app_server; break; } } 来源: oschina 链接: https://my.oschina.net/tplinuxhyh/blog/3217837

swagger的使用

拥有回忆 提交于 2020-04-03 11:45:25
所需依赖: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>28.0-jre</version></dependency>加入配置: @EnableSwagger2@ComponentScan(basePackages = {"com.priusis.bmis.app.web.controller"})@Configurationpublic class SwaggerConfig extends WebMvcConfigurationSupport { @Bean public Docket createRestApi() { return new