api接口

vue axios封装以及API统一管理

杀马特。学长 韩版系。学妹 提交于 2020-03-23 10:57:58
在vue项目中,每次和后台交互的时候,经常用到的就是axios请求数据,它是基于promise的http库,可运行在浏览器端和node.js中。当项目越来越大的时候,接口的请求也会越来越多,怎么去管理这些接口?多人合作怎么处理?只有合理的规划,才能方便往后的维护以及修改, 安装 安装axios依赖包 cnpm install axios --save 引入 一般会我会在项目src中新建一个untils目录,其中base用于管理接口域名,http处理请求拦截和响应拦截,user.js负责接口文件(接口文件可以自己新建一个文件夹,然后放对应的接口文件) 1.在http.js文件中,用于处理axios中对请求拦截和响应拦截做处理,token处理,并引入element-ui加载动画。 import axios from 'axios' import { Loading, Message } from 'element-ui' import router from '../router/index.js' let loading function startLoading() { loading = Loading.service({ lock: true, text: '加载中....', background: 'rgba(0, 0, 0, 0.7)' }) } function

vue -- axios封装和api接口管理

℡╲_俬逩灬. 提交于 2020-03-23 10:34:39
axios封装【https://juejin.im/post/5b55c118f265da0f6f1aa354】 在vue项目中,一般和后台数据交互获取,使用的是axios库,它是基于promise的http库,可运行到浏览器和node.js中。 axios的特性: 拦截请求和响应; 取消请求; 转换JSON 客户端防御XSRF等 安装: npm install axios; //安装axios 引入:【可以在项目的src中,新建一个request文件夹,然后里面新建两个文件,http.js和api.js。http.js文件用来封装axios,api.js文件用来统一管理我们的接口。】 //在http.js中引入axios import axios from 'axios'; //引入axios import QS from 'qs'; //引入qs模块,用来序列化post类型的数据 环境的切换:【项目中有开发环境、测试环境和生产环境,我们通过node的环境变量来匹配我们的默认接口url前缀。】 //环境的切换 if(process.env.NODE_ENV == 'development'){ axios.defaults.baseURL = 'https://www.baidu.com';//开发地址 } else if (process.env.NODE_ENV ==

Lumen/Laravel调试API接口利器laravel-debugbar

痴心易碎 提交于 2020-03-22 22:34:47
Laravel、Lumen打印sql每次都要在手动加调试代码挺麻烦的。本文主要介绍另一个调试神器 barryvdh / laravel-debugbar 先讲一下效果。可以调试带页面的接口,也可以调试单纯的json api接口。 图一:请求的接口列表,可以根据一些条件进行过滤。红色划线的部分是我自己修改composer保增加上去的选项,后面一起放出composer仓库链接。 图二、查看异常(就不用到服务器看日志文件了) 图三、打印sql(所有sql一目了然) 还有其他几个面板,就不截图了。 安装步骤: 1、安装composer包 # 原版composer包,请求接口列表没有我图一划线那几个筛选项composer require barryvdh/laravel-debugbar composer require barryvdh/laravel-debugbar --dev //仅开发环境安装 # 我修改的过的composer包composer require evan766/laravel-debugbar composer require evan766/laravel-debugbar --dev //仅开发环境安装 2、注册服务提供者。该composer包同同时支持laravel和lumen,如果是lumen框架使用,注册的服务提供者要换成lumen的服务提供者

【qdox】Java 代码解析利器 QDox

余生长醉 提交于 2020-03-22 22:22:29
3 月,跳不动了?>>> 【qdox】Java 代码解析利器 QDox 前言 最近在写 maven 插件,涉及到了 java 代码解析这块内容。需要解析 java 源码,然后对于类中的不同部分进行处理。发现手写还是很难的,找了一圈发现了两个不错的工具可以使用,一个是 javaparser ,另一个是 qdox 。个人感觉 javaparser 强大一些,更新与维护也比较勤,但是相对来说上手难一点,从他的使用文档独立成书在买,可见一斑,而 qdox 比较小巧,上手很快,功能也满足大部分需求,最终还是选择了 qdox。 什么是 QDox 官方的介绍是: QDox - full extractor of Java class/interface/method definitions (including annotations, parameters, param names) 大概意思是一款完整的 java 类、接口、方法定义的提取器,包括了注释、参数及参数名称。其实核心功能就是我输入一个 java 类的源码,他可以把这个 java 类解析成一个对象,我们通过这个对象可以获取很方便的获取解析的类的不同组成,比如我可以获得这个类有哪些方法,这个方法的参数是什么,返回值又是什么,他们的类型又分别是什么?还有这个方法上有哪些注释、哪些 tag。也能获取类中有哪些的 field。。

常用API

丶灬走出姿态 提交于 2020-03-22 18:29:40
1.什么是API? API(Application Programming Interface)应用程序编程接口,JavaAPI是一本程序员的字典,是jdk中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习如何使用这些类即可。 【使用步骤】 1.打开帮助文档; 2.点击显示,找到索引,看到输入框; 3.输入要寻找的; 4.看包,Java.long下的类不需要导包,其他需要; 5.看类的解释和说明; 6.学习构造方法; 7.使用成员方法。 2.Scanner类 Scanner是一个可以解析基本类型和字符串的简单文本扫描器。可以实现键盘输入数据到程序中。 1.导包: import 包路径.类名称 【注意】   1.如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写;   2.只有java.long包下的内容不需要导包,其他的包都需要import语句。 2.创建: 类名称 对象名 = new 类名称() 3.使用: 对象名.成员方法名() scanner的使用 import java.util.Scanner; public class Demo01Scanner { public static void main(String[] args) { Scanner sc = new Scanner(System

【总】IdentityServer4 32篇汇总

為{幸葍}努か 提交于 2020-03-22 05:58:49
随笔分类 - IdentityServer4 IdentityServer4 常见问题 - 用户拒绝授权后报错 摘要: 1.问题说明 在 IdentityServer4 Web 授权中,一般会有一个显示客户端需要获取用户的那些信息的页面,询问用户是否同意: 在这个页面如果我们点击“No, Do Not Allow”,那么默认情况下我们会得到一个错误: 2.解决 我们在配置OIDC登录时,设置一下远程失败的事件,如下图 阅读全文 posted @ 2019-06-19 10:44 晓晨Master 阅读(160) | 评论 (0) 编辑 IdentityServer4实战 - 与API单项目整合 摘要: 一.前言 我们在实际使用 IdentityServer4 的时候,可能会在使用 IdentityServer4 项目添加一些API,比如 找回密码、用户注册、修改用户资料等,这些API与IdentityServer4怎么共存在一个项目呢? 二.整合 1.首先在 中添加 IdentityServer4 阅读全文 posted @ 2019-02-01 15:49 晓晨Master 阅读(2738) | 评论 (0) 编辑 IdentityServer4实战 - JWT Issuer 详解 摘要: 一.前言 本文为 "系列" 补坑之作,拖了许久决定先把坑填完。 下文演示所用代码采用的

第五章 Gateway--服务网关

徘徊边缘 提交于 2020-03-21 11:58:32
欧克 ,我接着上篇 第四章 Sentinel–服务容错 ,继续写下去 开始网关之旅 5.1网关简介 大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去 用。 这样的架构,会存在着诸多的问题: 客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性 认证复杂,每个服务都需要独立认证。 存在跨域请求,在一定场景下处理相对复杂。 上面的这些问题可以借助 API网关 来解决。 所谓的API网关 ,就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,诸如认证、鉴权、监控、路由转发等等。 添加上API网关之后,系统的架构图变成了如下所示: 我们也可以观察下,我们现在的整体架构图: 在业界比较流行的网关,有下面这些: Ngnix+lua 使用nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用 lua是一种脚本语言,可以来编写一些简单的逻辑, nginx支持lua脚本 Kong 基于Nginx+Lua开发,性能高,稳定,有多个可用的插件(限流、鉴权等等)可以开箱即用。问题: 只支持Http协议;二次开发,自由扩展困难;提供管理API,缺乏更易用的管控、配置方式。 Zuul

php 接口的安全实现?

ε祈祈猫儿з 提交于 2020-03-21 02:56:47
https://www.cnblogs.com/afsj/p/7424320.html PHP做APP接口时,如何保证接口的安全性? 1、当用户登录APP时,使用https协议调用后台相关接口,服务器端根据用户名和密码时生成一个access_key,并将access_key保存在session中,将生成的access_key和session_id返回给APP端。 2、APP端将接收到的access_key和session_id保存起来 3、当APP端调用接口传输数据时,将所传数据和access_key使用加密算法生成签名signature,并将signature和session_id一起发送给服务器端。 4、服务器端接收到数据时,使用session_id从session中获取对应的access_key,将access_key和接收到的数据使用同一加密算法生成对应signature,如果生成的签名和接收到的signature相同时,则表明数据合法 https://www.cnblogs.com/zouke1220/p/9394356.html php接口安全设计浅谈 Token授权机制 时间戳超时机制: 签名机制: 拒绝重复调用:客户端第一次访问时,将签名sign存放到缓存服务器中,超时时间设定为跟时间戳的超时时间一致,二者时间一致可以保证无论在timestamp限定时间内还是外

从ASP.NET Web API中的控制器返回二进制文件

天大地大妈咪最大 提交于 2020-03-20 20:07:11
3 月,跳不动了?>>> 我正在使用ASP.NET MVC的新WebAPI开发Web服务,该服务将提供二进制文件,主要是 .cab 和 .exe 文件。 以下控制器方法似乎有效,这意味着它返回一个文件,但是将内容类型设置为 application/json : public HttpResponseMessage<Stream> Post(string version, string environment, string filetype) { var path = @"C:\Temp\test.exe"; var stream = new FileStream(path, FileMode.Open); return new HttpResponseMessage<Stream>(stream, new MediaTypeHeaderValue("application/octet-stream")); } 有一个更好的方法吗? #1楼 你可以试试 httpResponseMessage.Content.Headers.Add("Content-Type", "application/octet-stream"); #2楼 对于 Web API 2 ,可以实现 IHttpActionResult 。 这是我的: using System; using System.IO;

从零开始入门 K8s | K8s 安全之访问控制

随声附和 提交于 2020-03-20 02:48:32
作者 | 匡大虎 阿里巴巴技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 27 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读: 访问控制是云原生安全的一个重要组成部分,也是 K8s 集群在多租环境下必要且基本的安全加固手段。在 K8s 体系中,访问控制又分为三个重要的组成部分,请求认证,鉴权和运行时刻的 admission 准入控制。在本文中,作者将带领大家了解这 3 部分的基本定义和使用方法,并给出多租环境下安全加固的相关最佳实践。 一、Kubernetes API 请求访问控制 访问控制 大家都知道访问控制是云原生安全中的一个重要组成部分。也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全防护手段。 那么在概念上可以抽象的定义为谁在何种条件下可以对什么资源做什么操作。这里的资源就是在 Kubernetes 中我们熟知的:Pod、 ConfigMaps、Deployment、Secrets 等等这样的资源模型。 Kubernetes API 请求 由上图来介绍一下 Kubernetes API 的请求从发起到其持久化入库的一个流程。 首先看一下请求的发起,请求的发起分为两个部分: 第一个部分是人机交互的过程。 是大家非常熟悉的用