api-result

Asp.NetCore3.1 WebApi 使用Jwt 授权认证使用

一笑奈何 提交于 2020-10-09 04:27:26
1:导入NuGet包 Microsoft.AspNetCore.Authentication.JwtBearer 2:配置 jwt相关信息 3:在 startUp中 1 public void ConfigureServices(IServiceCollection services){ 2 #region JWT 认证 3 services 4 .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) 5 .AddJwtBearer(options => { 6 var jsonmodel = AppJsonHelper.InitJsonModel(); 7 options.TokenValidationParameters = new TokenValidationParameters 8 { 9 ValidIssuer = jsonmodel.Issuer, // Configuration["JwtSetting:Issuer"], 10 ValidAudience = jsonmodel.Audience, // Configuration["JwtSetting:Audience"], 11 // IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8

vue项目快速实现后端接口返回的xml格式的数据进行解析

空扰寡人 提交于 2020-08-12 23:52:38
相关背景: 老项目重构,后端返回xml格式数据。 前端有现有的vue项目底层框架可以复用,现有框架支持对后端返回的json数据进行解析,需要调整的就是对xml格式数据的解析。 前端对后端接口的请求使用axios进行封装,且有mock数据方便本地联调开发。 解决方案: 封装xml解析相关方法; 根据后端接口返回数据格式边写xml文件进行后端数据mock; mock数据的实现: json格式的数据可以直接编写json格式的数据进行模拟,可以很方便的进行解析。 xml格式的数据如果直接写成字符串格式的,更新管理起来会比较麻烦,因此可以直接编写xml文件进行模拟。 对于mock接口数据的xml文件,可以在mock数据请求封装中直接对xml文件进行读取解析。 xml解析相关函数封装: xmlLoad.js 1 /* * 2 * 加载xml文件 3 * @param {Object} dname 4 */ 5 function loadXMLDoc(dname) { 6 let xhttp 7 if (window.XMLHttpRequest) { 8 xhttp = new XMLHttpRequest(); 9 } else { 10 xhttp = new ActiveXObject("Microsoft.XMLHTTP" ); 11 } 12 xhttp.open("GET",

Api接口签名验证

半世苍凉 提交于 2020-08-11 02:39:40
通过特性来统一验证的入口,实现ActionFilterAttribute接口来进行接口的签名验证 /// <summary> /// 标准接口基类Controller /// </summary> [SignVerification] public abstract class BaseApiController : Controller { } /// <summary> /// 接口签名验证 /// </summary> public class SignVerificationAttribute : ActionFilterAttribute { } 实现的思路为: 1.不同对接方的接口(插件)定义不同的验证key,不同的插件间不能混用验证key 2.不同的插件生成不同的partnerId,partnerKey。请求的Url中需要携带partnerId,通过partnerId作为key在redis中找到对应的插件验证信息(包括:partnerId,partnerKey等) 3.Url参数中必须包含partnerId,ts(时间戳),sign(加密签名)。ts时间戳的有效时间为5分钟,sign为(时间戳:formBody:partnerId:partnerKey)的MD5加密 4.如果通过partnerId可以找到对应的验证信息,再把(时间戳:formBody

JApiDocs 动态生成接口文档,并解析java 源码中的注释

痞子三分冷 提交于 2020-08-10 20:08:30
最近碰到一个有趣的开源项目: JApiDocs 地址: https://gitee.com/yeguozhong/JApiDocs 1、介绍 JApiDocs 是一个符合 Java 编程习惯的 Api 文档生成工具。最大程度地利用 Java 的语法特性,你只管用心设计好接口,添加必要的注释,JApiDocs 会帮你导出一份漂亮的 Html 文档,并生成相关的 Java 和 Object-C 相关数据模型代码,从此,Android 和 IOS 的同学可以少敲很多代码了,你也不需要费力维护接口文档的变化,只需要维护好你的代码就可以了。 实际使用中,你的原先代码,可能如下: /** * Get User List * @param listForm */ @RequestMapping(path = "list", method = {RequestMethod.GET, RequestMethod.POST} ) public ApiResult<PageResult<UserVO>> list(UserListForm listForm){ return null; } 此时,你的代码不用改动 (仅仅需要引入依赖jar,和简单的配置),不用像swagger一样额外通过注解的形式,来给该接口添加说明,该 JApiDocs 会自行给该接口添加接口说明和字段说明。 换言之,该

Asp.NetCore3.1 WebApi 使用Jwt 授权认证使用

眉间皱痕 提交于 2020-08-08 05:19:10
1:导入NuGet包 Microsoft.AspNetCore.Authentication.JwtBearer 2:配置 jwt相关信息 3:在 startUp中 1 public void ConfigureServices(IServiceCollection services){ 2 #region JWT 认证 3 services 4 .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) 5 .AddJwtBearer(options => { 6 var jsonmodel = AppJsonHelper.InitJsonModel(); 7 options.TokenValidationParameters = new TokenValidationParameters 8 { 9 ValidIssuer = jsonmodel.Issuer, // Configuration["JwtSetting:Issuer"], 10 ValidAudience = jsonmodel.Audience, // Configuration["JwtSetting:Audience"], 11 // IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8

springboot 集成完整的swagger2

不打扰是莪最后的温柔 提交于 2020-07-26 09:39:44
springboot 在集成swagger中会不会遇到各种问题: 1、swagger 进行接口鉴权(比如设置header的token,接口进行拦截处理)。 2、swagger 进行实体属性解析(pojo类的属性注解无法解析)。 3、swagger 进行响应码统一(code状态吗标识、200响应成功,响应体解析)。 4、swagger 设置接口共用参数(统一每个接口都存在的参数)。 以下是解决问题配置信息 一、引入依赖包 使用之前请更新或直接引用该版本依赖包 更新版本地址:接口依赖jar https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 ui 依赖jar https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui < dependency > < groupId > io.springfox </ groupId > < artifactId > springfox-swagger2 </ artifactId > < version > 2.9.2 </ version > </ dependency > < dependency > < groupId > io.springfox </ groupId > <

Spring校验注解异常统一处理类

こ雲淡風輕ζ 提交于 2020-05-06 00:03:20
@ControllerAdvice 该注解为统一异常处理的核心 是一种作用于控制层的切面通知(Advice),该注解能够将通用的@ExceptionHandler、@InitBinder和@ModelAttributes方法收集到一个类型,并应用到所有控制器上 该类中的设计思路: 使用@ExceptionHandler注解捕获指定或自定义的异常; 使用@ControllerAdvice集成@ExceptionHandler的方法到一个类中; 必须定义一个通用的异常捕获方法,便于捕获未定义的异常信息; 自定一个异常类,捕获针对项目或业务的异常; 异常的对象信息补充到统一结果枚举中; 自定义全局异常类 import com.example.demo.util.R; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; /** *

SpringMVC实现全局异常处理器 (转)

。_饼干妹妹 提交于 2020-05-04 06:59:41
出处: SpringMVC实现全局异常处理器      我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中,不管是dao层、service层还是controller层,都有可能抛出异常,在springmvc中,能将所有类型的异常处理从各处理过程解耦出来,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护。这篇博文主要总结一下SpringMVC中如何统一处理异常。 异常处理思路   首先来看一下在springmvc中,异常处理的思路 Spring MVC处理异常有4种方式: (1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver; (2)实现Spring的异常处理接口HandlerExceptionResolver 自定义自己的异常处理器; (3)使用@ExceptionHandler注解实现异常处理; (4)使用@ControllerAdvice + @ExceptionHandler 下面使用 @ControllerAdvice + @ExceptionHandler来实现 通过 @ControllerAdvice 注解,我们可以在一个地方对所有 @Controller

Spring Boot (5) 整合 RabbitMQ

那年仲夏 提交于 2020-01-07 03:19:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、前言 RabbitMQ 是实现了 AMQP (高级消息队列协议)的开源消息中间件,RabbitMQ服务器是用 Erlang (面向并发的编程语言)编写的。 RabbitMQ官网下载地址: https://www.rabbitmq.com/download.html Docker部署则执行如下命令即可 # RABBITMQ_DEFAULT_USER:用户名,RABBITMQ_DEFAULT_PASS:密码 这里修改为自己的即可 docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/rabbitmq/data:/var/lib/rabbitmq --hostname my-rabbit --restart=always -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3-management 温馨小提示:本文只是简单的通过 rabbitmq 去 发送消息 和 接收消息 ,适用于新手简单入门了解~ 二、SpringBoot 整合 RabbitMQ 1、 pom.xml

个人网站第五版(2020年版)来了

非 Y 不嫁゛ 提交于 2020-01-06 14:25:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ​ 大家好,转眼间2020年了,首先祝大家2020年元旦快乐。我是冯文议,是一名JAVA工程师,我的个人网站第五个版本(2020年版)也如期而至。本次改版与以往只有个人主页的版本不一样,这一次旨在打造一个记录自己的平台。包含个人主页、博客系统、作品、相册系统、留言系统、用户系统、后台管理系统等。 技术 基于Spring Boot进行开发 前端使用Themyleaf模板,Layui,jQuery,Markdown富文本编辑器 数据库MySQL 数据库操作框架MyBatis-Plus 权限认证Spring Security,JWT 后台接口返回封装处理框架api-result 工具类框架JavaLib 后台管理系统vue-admin-pro Java 8 日期和时间 文件上传,图片信息解析 移除 移除了夜间模式 首页图片不再每天更换 网址 https://fengwenyi.com https://www.fengwenyi.com 来源: oschina 链接: https://my.oschina.net/fengwenyi/blog/3152222