搜点什么?

JPress内置API接口的开启与调用详解

发布时间:2021-02-21 23:13

本文作者:

JPress内置API接口的开启与调用详解

开发群里不少人关心jpress内置的接口怎么用?如何配置jpress接口供第三方使用?

JPress内置API接口的开启与调用,这个主要是方便第三方系统或者终端调用。

由于官方jpress的api相关文档还没有出来,所以目前文章中相关接口都是根据代码总结而来,会跟着代码更新,所以学习的话注意代码版本。

首先进入jpress后台菜单:系统--->接口 API应用,如下图:

jpress api设置和调用文档 勾选『开启API』这个选项,这个是JPress后台对api进行的全局开关。

那么,相关配置都完成了怎么测试呢?

JPress调用api的地址如下:

http://www.yourdomain.com/api?method=

例如我们访问查询测试的接口

http://www.yourdomain.com/api?method=queryTest

需要注意的是,这么调用是没有效果的,因为服务器端并没有验证来源。那么需要携带哪些参数呢?

需要携带sign:

method:调用方法appkey:之前设置的appkeysign:签名sign_method:签名方法

这四个参数缺一不可,下面失色为大家详细讲解下如何为jpress的api接口生成sign签名参数的值。

首先jpress后台签名验证暂时只有md5验证的方式,所以sign_method设置为md5即可。

生成sign的代码如下,先上代码然后讲解:

public static String signForRequest(Map<String, String> params,String secret) {
	String[] keys = params.keySet().toArray(new String[0]);
	Arrays.sort(keys);
	StringBuilder query = new StringBuilder();
	query.append(secret);
	for (String key : keys) {
		String value = params.get(key);
		if (StringUtils.areNotEmpty(key, value)) {
			query.append(key).append(value);
		}
	}
	query.append(secret);
	return HashKit.md5(query.toString()).toUpperCase();
}

这里需要一个Map<String,String>的map作为传入变量,那么这个map到底是什么东西呢?还记得调用接口的时候需要传入参数么?这个map就是用那些除了sign以外的参数存入的,放入顺序只要和你api请求的顺序一致即可,是不是很简单~

通过验证,你再调用如下地址,并传入相应参数,你就可以调用api啦,接口如下~

{"data": null,"errorCode": 0,"message": "test ok!"}

一般在接口开发的时候,我们都是使用postman等工具,不便生成sign参数,我们可以把Jpress的ApiInterceptor给关掉

把intercept里面的所有if判断都给注释掉就行

相关文章

加入我们!

如果你想系统学习JPress涉及到的知识点,或者希望有人解答你在深度使用JPress时遇到问题,
加入QQ群是个很不错的选择