swagger

spring boot系列(三)整合MyBatis框架

守給你的承諾、 提交于 2020-08-09 20:30:05
添加依赖 <!--添加mysql 和 mybatis 依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> 配置MyBatis @Configuration @MapperScan("com.example.springbootstartlearn.Dao") public class MyBatisConfig { @Autowired private DataSource dataSource; @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); factoryBean.setDataSource(dataSource);

基于 abp vNext 和 .NET Core 开发博客项目

倖福魔咒の 提交于 2020-08-09 11:40:37
项目介绍 此版本个人博客项目底层基于 abp vNext (不完全依赖)搭建,和免费开源跨平台的 .NET Core 3.1 开发,支持各种主流数据库(SqlServer、MySQL、PostgreSql、Sqlite)一键切换,遵循 RESTful 接口规范,前端使用 Blazor 开发,可作为 .NET Core 入门项目进行学习。 项目开源地址: https://github.com/Meowv/Blog If you liked Blog project or if it helped you, please give a star ⭐️ for this repository. 👍👍👍 系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场 基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查 基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型 基于 abp

尝鲜刚发布的 SpringFox 3.0.0,以前造的轮子可以不用了...

邮差的信 提交于 2020-08-09 04:16:00
最近 SpringFox 3.0.0 发布了,距离上一次大版本2.9.2足足有2年多时间了。可能看到这个名字,很多读者会有点陌生。但是,只要给大家看一下这两个依赖,你就知道了! <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>3.0.0</version> <scope>compile</scope> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>3.0.0</version> <scope>compile</scope> </dependency> 当我们在使用Spring MVC写接口的时候,为了生成API文档,为了方便整合Swagger,都是用这个SpringFox的这套封装。但是,自从2.9.2版本更新之后,就一直没有什么动静,也没有更上Spring Boot的大潮流,有一段时间还一直都是写个配置类来为项目添加文档配置的。为此,之前就造了这么个轮子: https://github.com/SpringForAll/spring-boot

Nginx 服务器配置支持SignalR (WebSocket)

感情迁移 提交于 2020-08-09 00:08:24
今天SignalR部署在测试环境服务器前端出现无法连接,前端报错如下: failed: Error during WebSocket handshake: Unexpected response code: 200 Failed to start the transport 'WebSockets': null SignalR地址直接报错404 然后查看服务器端是否有什么问题,服务器端也有报错如下 Microsoft.AspNetCore.SignalR.HubConnectionContext - Failed connection handshake. 看前端报错看像是WebSocket问题,因为SignalR本质还是通过WebSocket来实现通信的,根据错误像是服务器不支持WebSocket,我们是使用的Nginx做代理的时候默认配置不支持WebSocket。需要修改代理设置,需要改代理请求头的设置。 主要修改如下,在location节点下面新增。 文末有完整的nginx配置实例可复制。 proxy_http_version 1.1 指定使用http版本,因为只有http1.1才支持长连接。 proxy_set_header Upgrade $http_upgrade 将客户端http请求头Upgrade 透传过来 roxy_set_header Connection

.NET 技术栈 思维导图

橙三吉。 提交于 2020-08-08 17:00:39
背景介绍 根据网上招聘网站的一些.NET技能需求,画了一个图,便于在自修和学习的过程当中有一个方向。 技能栈 Web front-end o 框架技术 ▣ Vue ▣ Bootstrap ▣ LayUI ▣ EasyUI ▣ Node.js ▣ ReactJS ▣ Angular ▣ Webpack o 开发工具 ▨ 编码工具 ▣ HBuilder X ▨ 设计工具 ▣ PxCook -- 像素大厨 ▣ 蓝湖 ▣ Visio ▣ 迅捷流程图软件 Website o 框架技术 ▨ 云服务模型 ▣ Saas -- 软件即服务 ▣ IaaS -- 基础设施即服务 ▣ PaaS -- 平台即服务 ▨ 缓存技术 ▣ Redis ▣ MemoryCache ▣ Session ▨ 消息队列 ▣ Windows Message Queue ▣ RabbitMQ ▣ Kafka ▨ 数据操作 ▤ ORM -- 对象关系映射(Object Relational Mapping) ▣ Entity framework 〼 Code First 〼 Database First 〼 Model First ▣ NHibernate ▣ Dapper ▨ 框架概念 ▤ OOD -- 面向对象设计(Object-Oriented Design) ▤ DDD -- 领域驱动设计(Domain

浅析如何在Nancy中使用Swagger生成API文档

时光总嘲笑我的痴心妄想 提交于 2020-08-08 16:55:04
前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document。但是还有许许多多的不足。 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger,以及另一个开源的 Nancy.Swagger 项目来完成今天的任务! 注:Swagger是已经相对成熟的了,但 Nancy (2.0.0-clinteastwood)和 Nancy.Swagger (2.2.6-alpha)是基于目前的最新版本,但目前的都是没有发布正式版,所以后续API可能会有些许变化。 下面先来简单看看什么是 Swagger 何为Swagger The World's Most Popular Framework for APIs. 这是Swagger官方的描述。能说出是世界上最流行的,也是要有一定资本的! 光看这个描述就知道Swagger不会差!毕竟人家敢这样说。当然个人也认为Swagger确实很不错。 通过官方文档,我们都知道要想生成Swagger文档,可以使用YAML或JSON两种方式来书写,由于我们平常写程序用的比较多的是JSON! 所以本文主要是使用了JSON,顺带说一下YAML的语法也是属于易懂易学的。 既然是用JSON书写,那么要怎么写呢?这个其实是有一套规定、约束,我们只要遵守这些来写就可以了。详细内容可以参见 OpenAPI

java后台树形结构展示---懒加载

北慕城南 提交于 2020-08-08 15:45:00
一、数据库设计 二、实体类:entity import com.joyoung.cloud.security.common.validatedGroup.Add; import com.joyoung.cloud.security.common.validatedGroup.Modify; import io.swagger.annotations. ApiModel; import io.swagger.annotations. ApiModelProperty; import lombok. Data; import lombok.experimental. Accessors; import javax.persistence. Id; import javax.persistence. Transient; import javax.validation.constraints. NotBlank; import javax.validation.constraints. NotNull; import javax.validation.constraints. Null; import javax.validation.constraints. Pattern; import java.io.Serializable; import java.util.Date;

基于 abp vNext 和 .NET Core 开发博客项目

给你一囗甜甜゛ 提交于 2020-08-08 11:20:47
上一篇文章( https://www.cnblogs.com/meowv/p/12913676.html )我们用Code-First的方式创建了博客所需的实体类,生成了数据库表,完成了对EF Core的封装。 本篇说一下自定义仓储的实现方式,其实在abp框架中已经默认给我们实现了默认的通用(泛型)仓储, IRepository<TEntity, TKey> ,有着标准的CRUD操作,可以看: https://docs.abp.io/zh-Hans/abp/latest/Repositories 学习更多。 之所以实现自定义仓储,是因为abp没有给我们实现批量插入、更新的方法,这个是需要自己去扩展的。 既然是自定义仓储,那么就有了很高的自由度,我们可以任意发挥,可以接入第三方批量处理数据的库,可以接入Dapper操作等等,在这里贴一下微软官方推荐的一些EF Core的工具和扩展: https://docs.microsoft.com/zh-cn/ef/core/extensions/ 。 自定义仓储 在 .Domain 领域层中创建仓储接口, IPostRepository 、 ICategoryRepository 、 ITagRepository 、 IPostTagRepository 、 IFriendLinkRepository ,这里直接全部继承 IRepository

swagger 的配置

老子叫甜甜 提交于 2020-08-08 06:15:13
1,开启swagger : c.IncludeXmlComments(GetXmlCommentsPath()); protected static string GetXmlCommentsPath() { return string.Format(@"{0}\bin\{1}.xml", System.AppDomain.CurrentDomain.BaseDirectory , Assembly.GetExecutingAssembly().GetName().Name); } 2,在外网访问时swagger提示错误: 当我尝试看到swagger UI时,我很好地获得了API的文档但是在一段时间后它在按钮上显示了一些错误图标 . 错误消息如下所示: [{“level”:“error”,“message”:“无法从文件中读取http:// MYIP / swagger / docs / v1”}] 我不确定是什么导致它 . 如果我刷新它工作并在几秒后显示错误 . 可以对如下代码进行设置: //c.SetValidatorUrl("http://localhost/validator"); c.DisableValidator(); 来源: oschina 链接: https://my.oschina.net/u/4273344/blog/4291488

C#根据反射动态创建ShowDoc接口文本信息

微笑、不失礼 提交于 2020-08-08 00:56:07
我目前每天主要工作以开发api为主,这都离不开接口文档。如果远程对接的话前端总说Swagger不清晰,只能重新找一下新的接口文档。ShowDoc就是一个不错的选择,简洁、大方、灵活部署。 但是话说回来,既然是文档每个接口你都得写。总感觉这样效率太慢了,能不能自己生成一下,自己只要Ctrl+C、Ctrl+V就万事大吉了。 早就想写一下,今天抽空做了一下(后期我会继续完善,时间、精力有限😅)。提前说好,我只写了一个查询的。而且也不可能说是生成了就不用改了,里面的文本信息全都符合各位同学的预期。但至少百分之八十的接口只要已生成直接copy就ok,还有一些个别接口... ... 一般来说,分页查询的响应信息结构都是一样的。不同的接口数据不同而已,所以返回的那个实体对象就反射那个对象。我是在属性上标注特性以获得相应注释信息。 首先新建一个Api项目 定义一个实体类和要返回的信息类。 public class Products { [DescriptionAttribute( " 数据id " )] public int id { get ; set ; } [DescriptionAttribute( " 商品名称 " )] public string productNams { get ; set ; } [DescriptionAttribute( " 商品价格 " )] public