Spring MVC 入参枚举细节
# Spring MVC 入参枚举细节
在写网关接口的时候,不由的想到当枚举作为入参时,那前端传入的参数是什么?枚举本质是一个什么数据格式?字符串是 "",对象是 {},集合或数组是 [],那枚举是什么,是 {}?还是 []。
# 入参对象有枚举时传参
准备一个 MatchModeEnum.java 枚举类
@RequiredArgsConstructor@Getterpublic enum MatchModeEnum { AND(0, "and"), OR(1, "or"); private...
more...
el-popover在el-table中使用问题记录
# el-popover 在 el-table 中使用问题记录
记录一下在使用 element UI 中 el-popover 组件在 el-table 中使用出现的问题
在使用 element UI 中 el-popover 遇到了下图的确定按钮点击时无法关闭 el-popover。对于这个问题如何解决实现下图点击取消时的关闭 el-popover 效果特定记录下。
# 起因 & 原因
因为对前端 node,vue 并不精通,所以本章将用肤浅的表现来说明这个事件
官方的 el-popover 的使用例子。本质是通过 v-model 绑定一个 boolean...
more...
Java实现上传Nexus库
# Java 实现上传 Nexus 库
因为有部分开发人不懂 maven 配置,上传私库 jar 包混乱。多模块开发只要某个 jar 包上传缺因不懂配置,将所有 jar 包上传等其它非功能性因素,需要我这个系统开发这个功能(编不下去了,我只知道有这个需求,并且我得干┭┮﹏┭┮)
# 前言
这需求看起来真简单,用起来也简单,idea 打开 maven 点击 deploy 即可。所以我将使用和 idea 一样的方式通过 mvn 命令上传 Nexus 私库。而不是使用 Nexus 的 Api 。且使用上肯定无法达到 idea 那样方便。
# Maven 上传 Nexus 库命令
上传 jar...
more...
WebFlux之动态路由
# WebFlux 之动态路由
因为想基于 WebFlux 实现一个网关的路由转发功能,且 Gateway 也是基于 WebFlux 实现的网关,网上也有许多 Gateway 的动态路由教程,而本章主要将单纯基于 WebFlux 如何实现动态路由
# WebFlux 接口实现
首先是最底层 HttpHandler 接口,该接口是对 HTTP 请求处理的最底层抽象,通过这个接口将不同 “接口” 实现方式统一起来。所以不管是注解控制器方式的编程还是函数式的编程,在初始化环境时,都需要初始化这么一个类的实例,HttpHandler 的定义如下所示
package...
more...
WebFlux 之 WebClient的使用记录
# WebFlux 之 WebClient 的使用记录
WebFlux 是一款基于 Netty 和 Reactive 技术栈构开发的一款 Spring 框架。该框架相比原来 Web 框架能有效提高 TPS 。其原理是基于 Netty 实现的事件驱动达到对线程的高可用,也实现了非阻塞。通过 Reactor 设计模式,使原有请求 (线程) 不需要通过等待过程实现 (如:方法内的处理过程或远程调用或者数据库调用) 导致系统资源的损耗。而 WebFlux 则是请求调用后则高高挂起,等待程序通知返回响应结果,然后它再离开。这个过程就是一种观察者模式。观察是否有处理结果了再做反应。而这也是...
more...
apollo源码更改实现多灰度
# Apollo 源码更改实现多灰度
因项目线需求多人迭代开发时,环境区分,以及为以后的灰度发布做准备,Apollo 单灰度配置已经不满足当前快速开发业务需求,所以需要对其调整。特此记录。本文将在本地重新拉一套全新的源码进行实现讲解
# 部署并启动 Apollo
目标:部署并运行至少拥有一个环境的 Apollo 服务
需要:拥有 apolloconfigdb 、apolloportaldb 两个数据库。启动 一个 apollo-configservice 和一个 apollo-adminservice 应用组成一个 环境,再启动一个 apollo-portal...
more...
Maven如何自定义脚手架
# Maven 如何自定义脚手架
# 引言
在项目越来越多的背景下要保证开发效率保证系统稳定,项目标准化将不可避免,其中最开始的就是要有一个或多个骨架工程。 使用这些骨架工程开发实现统一的设计理念,技术栈,功能组件,架构风格,开发规范等一致的约束。
# Maven 的脚手架是什么
在 idea 的创建项目中这些选择就是离我们最近的 maven 脚手架。
脚手架的工程目录结构与常见 maven 开发工程差异体具体如下(红色代表定死的,蓝色代表可更改的)
最外层的 archetype 文件夹下的 pom.xml 文件
<build>...
more...
Axios 获取响应头问题
# Axios 获取响应头问题
# 起因
在使用 Axios 中遇到响应拦截器获取不到 token 问题,估计是浏览器机制原因。
复现问题:打印 Axios 的响应拦截方法中响应体 —> 对比浏览器的响应体。响应头内仅 content-type 出现
# 解决方案
后端往响应头内添加 key 为 Access-Control-Expose-Headers ,value 为你想要拿到的 key 名。如上面
//...
more...
如何写好一篇技术文档
# 如何写好一篇技术文档
本篇对网上技术文档写法整理,加自我理解,希望能让自己写的文章越来越好
# 前言
写技术文档需要明白技术是很抽象的东西,理解起来也是理解起来很有难度的东西。想要靠纯文字进行内容转述,是很困难的。所以,应该更多地借助表格和图片,甚至 gif 动图,帮助读者理解。所谓 “字不如表、表不如图”
# 技术文档分类
软件领域内文档可分为:教程、操作指南、解释、技术参考 它们有不同目的、功能,且编写也有不同方式。
关系如下图:
教程和操作指南类似,因为它们都关注描述实际步骤,而操作指南与技术参考交集是我们在工作层面,编码,...
more...