精华内容
下载资源
问答
  • uni-app 公共接口

    千次阅读 2020-04-01 14:50:55
    公共接口并非整个项目公用一个相同的接口,而是同一个接口域名而已。 公共接口也是项目常见的写法。 使用公共接口前 这是我们在项目中常见的接口写法,url就是复制接口文档中的接口地址 使用公共接口后 实现步骤 ...

    公共接口并非整个项目公用一个相同的接口,而是同一个接口域名而已。
    公共接口也是项目常见的写法。

    使用公共接口前

    这是我们在项目中常见的接口写法,url就是复制接口文档中的接口地址
    正常写法

    使用公共接口后

    使用公共接口后

    实现步骤

    1. 在项目根目录中新建mycompoents文件夹,并在文件中创建global.vue文件
      目录和文件创建
    2. 接口共有部分注册
      引用接口共有部分
    3. 页面引用
      首先,先声明一个url,并把Global文件中的url赋给声明的url,
      然后,在接口的url中使用+拼接符进行拼接,并把原有的接口地址删除只剩下后三阶段,
      最后进行测试就可以了。
      页面引用
    展开全文
  • 已发布接口与公共接口

    千次阅读 2009-12-08 15:27:00
    已发布接口(published interface)与公共接口(public interface) 表弟在读《重构》一书,对已发布接口的概念有些迷惑,我对其进行通俗的解释如下: 已发布接口是指已经发布出去为其他系统的构件所使用的接口,有...

    已发布接口(published interface)与公共接口(public interface)

    表弟在读《重构》一书,对已发布接口的概念有些迷惑,我对其进行通俗的解释如下:

    已发布接口是指已经发布出去为其他系统的构件所使用的接口,有多少接口的调用者是无法知道的,已发布接口必须保持稳定,否则一旦修改,将引起其调用者的失败,而又不可能穷举出其调用者对他们进行修改,因为接口的作者不知道有多少调用者,接口的作者也无权修改借口的调用者。假设A为一个已发布接口,如果对A进行了修改形成了新的接口B,则为了保证A的调用者能够正常工作,需要在A中调用B,而新的需要调用A接口的构件直接调用B接口就可以了。所以Martin Flower讲“不要过早发布接口”,否则一旦接口不稳定,问题就复杂了。

    公共接口是指为系统内的其他构件所使用的接口,有多少接口的调用者是可以穷举的,修改公共接口时,可以修改其调用者,使调用者能够在新版的接口上正常工作。

    展开全文
  • SpringSecurity自定义权限验证、解决鉴权失效和公共接口问题 本文主要介绍如何使用spring-security来实现自定义的权限验证,以及如何解决鉴权时部分接口鉴权失效变成公共接口的问题,用户登录认证的部分已省略。 ...

    背景:自定义权限认证,一部分接口必须要有相应的角色权限,一部分接口面向所有访问者,一部分接口任何人都不能访问。但是在使用 SpringSecurity的过程中发现,框架会将没有指定角色列表的URL资源直接放行,不做拦截。

    用户登录认证成功后,携带Token访问URL资源,spring security 根据Token(请求头Authorization中)来分辨不同用户。

    用户权限数据源是一个Map:以 URL资源为Key,以有权访问的Key的角色列表为Value。

    使用时发现当一个接口有Key,但是Value为空或null时,spring security 框架自动放行,导致了权限失效问题。

    解决方法有两种:

    第一种方法:
    默认rejectPublicInvocations为false。
    对需要控制权限的URL资源添加标志,以防止roleList为空,跳过了权限验证.
    公共权限设置为null,不进行权限验证

    第二种方法:
    配置rejectPublicInvocations为true
    此后roleList为空,或者没有找到URL资源时,都为拒绝访问
    需要控制权限的URL资源,即使对应角色为空,也会进行权限验证
    公共权限设置为所有角色和匿名角色,不进行权限验证

    package org.springframework.security.access.intercept;
    /**
     * 对安全对象(访问请求+用户主体)拦截的抽象类源码
     */
    public abstract class AbstractSecurityInterceptor implements InitializingBean, ApplicationEventPublisherAware, MessageSourceAware {
    
    	// ... 其他方法省略
    	
    	protected InterceptorStatusToken beforeInvocation(Object object) {
    		Assert.notNull(object, "Object was null");
    		final boolean debug = logger.isDebugEnabled();
    
    		if (!getSecureObjectClass().isAssignableFrom(object.getClass())) {
    			throw new IllegalArgumentException(
    					"Security invocation attempted for object "
    							+ object.getClass().getName()
    							+ " but AbstractSecurityInterceptor only configured to support secure objects of type: "
    							+ getSecureObjectClass());
    		}
    
    		// 从权限数据源获取了当前 <URL资源> 对应的 <角色列表>
    		Collection<ConfigAttribute> attributes = this.obtainSecurityMetadataSource().getAttributes(object);
    				
    		// 框架在此处判断URL资源对应的角色列表是否为空
    		if (attributes == null || attributes.isEmpty()) {
    			// rejectPublicInvocations默认为false 
    			// 可以配置为true,即角色列表为空的时候不进行放行
    			if (rejectPublicInvocations) {
    				throw new IllegalArgumentException(
    						"Secure object invocation "
    								+ object
    								+ " was denied as public invocations are not allowed via this interceptor. "
    								+ "This indicates a configuration error because the "
    								+ "rejectPublicInvocations property is set to 'true'");
    			}
    
    			if (debug) {
    				logger.debug("Public object - authentication not attempted");
    			}
    
    			publishEvent(new PublicInvocationEvent(object));
    
    			return null; // no further work post-invocation
    		}
    
    		if (debug) {
    			logger.debug("Secure object: " + object + "; Attributes: " + attributes);
    		}
    		
    		// 如果当前用户权限对象为null
    		if (SecurityContextHolder.getContext().getAuthentication() == null) {
    			credentialsNotFound(messages.getMessage(
    					"AbstractSecurityInterceptor.authenticationNotFound",
    					"An Authentication object was not found in the SecurityContext"),
    					object, attributes);
    		}
    
    		Authentication authenticated = authenticateIfRequired();
    
    		// Attempt authorization,此处调用accessDecisionManager 进行鉴权
    		try {
    			this.accessDecisionManager.decide(authenticated, object, attributes);
    		}
    		catch (AccessDeniedException accessDeniedException) {
    			publishEvent(new AuthorizationFailureEvent(object, attributes, authenticated,
    					accessDeniedException));
    
    			throw accessDeniedException;
    		}
    
    		if (debug) {
    			logger.debug("Authorization successful");
    		}
    
    		if (publishAuthorizationSuccess) {
    			publishEvent(new AuthorizedEvent(object, attributes, authenticated));
    		}
    
    		// Attempt to run as a different user,这里可以另外配置或修改用户的权限对象,特殊场景使用
    		Authentication runAs = this.runAsManager.buildRunAs(authenticated, object,
    				attributes);
    
    		if (runAs == null) {
    			if (debug) {
    				logger.debug("RunAsManager did not change Authentication object");
    			}
    
    			// no further work post-invocation
    			return new InterceptorStatusToken(SecurityContextHolder.getContext(), false,
    					attributes, object);
    		}
    		else {
    			if (debug) {
    				logger.debug("Switching to RunAs Authentication: " + runAs);
    			}
    
    			SecurityContext origCtx = SecurityContextHolder.getContext();
    			SecurityContextHolder.setContext(SecurityContextHolder.createEmptyContext());
    			SecurityContextHolder.getContext().setAuthentication(runAs);
    
    			// need to revert to token.Authenticated post-invocation
    			return new InterceptorStatusToken(origCtx, true, attributes, object);
    		}
    	}
    	// ... 其他方法略
    }
    
    展开全文
  • 提取公共接口路径优化代码 request/request.js export const request = (params) => { // 定义公共的url部分 const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1"; return new Promise(...

    提取公共接口路径优化代码
    在这里插入图片描述
    request/request.js

    export const request = (params) => {
      // 定义公共的url部分
      const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1";
      return new Promise((resolve, reject) => {
        wx.request({
          ...params,
          // 拼接url
          url: baseUrl + params.url,
          success: (result) => {
            resolve(result);
          },
          fail: (err) => {
            reject(err);
          },
        });
      });
    };
    

    在这里插入图片描述

    展开全文
  • 免费的公共接口

    万次阅读 2018-08-15 10:29:50
    目前接口列表: 新闻接口: https://www.apiopen.top/journalismApi 随机推荐热门段子(包含文字、图片、GIF、视频): https://www.apiopen.top/satinApi?type=1&amp;page=1 随机推荐热门段子【神评版本】...
  • 我们可以将这些函数作为基类的虚函数(或纯虚函数),他们定义了一个统一的公共接口。再由该基类派生出若干子类,在各个子类中实现这些虚函数。简称:“一个接口,多种方式”。 我们来看一个例子:编写一个程序计算...
  • 这里就直接贴代码吧。 引用jar包:... 一、SeaweedFS 上传附件接口 @Autowired private FileTemplate template; /** * @Description: 上传附件接口 * @Date: 2019/12/19...
  • 解析SOA十大设计原则 公共接口与内部实现要明确界限 日期:2007-11-14 
  • post请求公共接口,参数为json串

    千次阅读 2017-03-18 09:20:09
    写这个无非是因为近期用到post请求接口的时候,请求接口调用不通,老师报错:请求超时 最后才发现是因为 :请求的时间设定太短暂,而且网络因素也是其一,返回的数值太多,也会影响 这里贴一下源码: //...
  • API使用的是国家气象局的接口,完全免费的: http://t.weather.sojson.com/api/weather/city/101010100 这个是以北京为例的接口,其中最后的数字101010100就是北京的城市代码。查询其它城市只需要把城市代码修改成...
  • 物流接口 快递接口: http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号  ps:快递公司编码:申通="shentong" EMS="ems" 顺丰="shunfeng" 圆通="yuantong" 中通="zhongtong" 韵达="yunda" 天天=...
  • SSH中公共Dao层、Dao接口

    千次阅读 2017-11-23 20:45:54
    为了优化代码可以创建公共类与接口 先写一个Dao层的公共接口,在里面实现增删改查等各种功能 public interface IBaseDao { //增加 public void save(T entity); //删除 public void delete(Long id); //...
  • 公共开放WebService接口

    万次阅读 2013-11-22 09:26:41
    公共开放WebService接口 快递查询WEB服务   http://webservice.36wu.com/ExpressService.asmx 支持上百家快递/物流查询,准确高效,所有数据均来自快递服务商。此数据返回类型进行了封装,方便开发人员和应用者...
  • 公共的WebService接口

    千次阅读 2018-12-20 11:41:55
    公共网络开放的WebService接口 webservice测试工具:http://download.csdn.net/detail/yixiaoping/6589315       快递查询WEB服务  http://webservice.36wu.com/ExpressService.asmx 支持上百家快递/物流...
  • 公共api接口文档

    2019-08-15 13:06:15
    百度翻译通用API http://api.fanyi.baidu.com/api/trans/product/prodinfo
  • 最近新开一个项目,也是紧急搭了项目架子,做了下封装及分目录,但这回也是发现了一个问题,公共接口地址有多个,简单说下公司的后台,这边后台的接口地址是按模块划分的,常规模式下,后台会给一个公共的接口地址,...
  • 微信公共平台接口验证demo(JAVA)

    千次下载 热门讨论 2013-12-24 18:05:13
    看到微信的公共平台接入文档接口验证的例子是PHP写的,对于很多不是做php的人来说有点麻烦。这里写一下JAVA版接口验证的实现。
  • CGI公共网关接口 Python

    千次阅读 2013-11-22 14:15:03
    CGI(Common Gateway Interface)即公共网关接口,他是外部应用程序(CGI程序)和Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送到web...
  • 常用公共服务接口与java调用实现

    千次阅读 2015-03-26 11:49:42
    本节讲述日常生活中常用的一些公众服务的查询接口,其中包括天气查询,pm2.5情况查询,身份证查询、电话归属地查询,IP来源于地址查询等。
  • Layui中设置公共接口

    千次阅读 2020-06-22 11:20:21
    创建一个js文件,用来存储接口数据 http.js const $api="http://localhost:8085/"; 然后在需要的页面中引入并且使用即可了 第二种方式 在js/lay-module/中创建一个http目录及在里面创建一个http.js文件 http.js ...
  • webService公共开放接口大全

    万次阅读 2017-07-13 09:53:27
    天气预报Web服务,数据来源于中国气象局 Endpoint :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx Disco :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?disco ...
  • 微信公共平台接口demo

    2012-12-12 15:08:58
    以上为微信公共平台调用 php版的demo 现在没有asp.net的 能否给写写asp.net版的。自己写了些感觉不好用。求助[/color] 我自己写的。 public void responseMsg() { //读取本地时间与调用xml无关。 ...
  • 通过'http://timor.tech/api/holiday/info/$' + “2018-01-11”接口,来判断该日期是否是公共节假日,排除此类返回结果不把双休日计算在内(接口2020/1/1能用,会失效,请先看看能否使用) def main(): begin =...
  • 天气预报和一些公共的webservice接口

    千次阅读 2012-07-09 11:24:29
    收集一些公共接口: 1.天气预报接口的一些资源,xml为主的,可以下载对应的图片 http://www.webxml.com.cn/zh_cn/weather_icon.aspx 2.还有一个,及其他的接口 webservice工厂接口 http://www.36wu.com ...
  • > 使用feign接口时遇到的问题 现在有三个应用,消费端,服务端,接口端 **API端** ... @RequestMapping(value = "/...BaseController中是抽离的公共方法,可是现在消费端无法找到服务端的接口 ,404错误。
  • CRMEB接口文档

    千次阅读 2019-09-29 09:01:11
    CRMEBv3.0采用TP6框架,前后端完全分离了,这样以来,微信公众号、微信小程序、H5都是调用统一接口,接下来还会出百度小程序、抖音小程序等,就变得更加方便了。...公共接口 活动状态 基本信息...
  • 调用接口公共方法。 package com.info.web.util; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream;...
  • 1、什么是Web Service接口 讲不好,请参考文章 https://www.cnblogs.com/thiaoqueen/p/7143797.html https://www.cnblogs.com/phoebes/p/8029464.html 2、公共资源 天气预报Web服务,数据来源于中国气象局 ...
  • 常用公共服务接口(1)天气预报API

    千次阅读 2017-03-03 11:49:14
    百度提供天气预报查询接口API,可以根据经纬度/城市名查询天气情况,我们可以在微信公众平台开发中调用这一接口接口说明 根据经纬度/城市名查询天气的结果 接口示例 城市名称:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 351,619
精华内容 140,647
关键字:

公共接口