首页
产品动态
产品购买
迅睿开源框架基于MIT开源许可协议发布,不限制商业使用,以多端互联为设计理念, 支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
迅睿框架产品
迅睿CMS系统
迅睿安全加固
国产化数据库
版本更新日志
捐赠迅睿团队
迅睿服务方案
迅睿授权套餐
迅睿服务套餐
OEM版权套餐
网站安全部署
源码先试再买
迅睿解决方案
AI内容创作
GEO搜索优化插件
多语言外贸网站设计
迅睿电商解决方案
丰富的字段类别插件
自营网店解决方案
高端医疗预约系统
在线阅读解决方案
在线答题解决方案
跨境电商方案
品牌内购解决方案
618大促✨
优惠活动
源码市场
应用市场(23)
插件市场(574)
模板市场(459)
小程序市场(22)
源码下载
开发服务
开发服务
提交需求
官方服务
开发报价
帮助文档
新手学习合集
视频教程讲解
新手入门指南
后台操作教程
二次开发文档
插件开发文档
模板制作教程
API接口开发
插件使用教程
常见问题汇总
功能配置详解
模板标签生成器
自定义字段调用
API接口测试工具
控制台
全部问题
求助问题
分享经验
开发需求
搜帖子
求助
版主:论坛审计组
别人调用我写的接口有点问题和获取不到响应为空
guan1994
类型:迅睿框架
更新时间:2020-06-19 16:34:31
别人调用我写的接口,有点问题 header和body 获取不到 响应为空
回帖
#1楼 官方实习技术
2020-06-19 16:26:15
Chrome
0
你是怎么写的接口
#2楼 guan1994
2020-06-19 16:30:43
Chrome
0
@Before(YgwAuthInterceptor.class)
@ControllerMapping(value = "/ws/rebate", viewdir = "/")
public class UseRebateController extends YgwController{
UseRebateService useRebateService = new UseRebateService();
/**
*
*/
public void deductRebate() {
PlatformRebateRequest request= (PlatformRebateRequest) getBody(PlatformRebateRequest.class);
renderJson(useRebateService.deductRebate(request));
}
}
2.YgwAuthInterceptor
public class YgwAuthInterceptor implements Interceptor {
@Override
public void intercept(Invocation inv) {
YgwController controller = (YgwController) inv.getController();
Header header = controller.getHeader();
if (header == null
|| StringUtils.isEmpty(header.getBusinessCode())
|| StringUtils.isEmpty(header.getSign())) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口验证失败,验证信息不能为空\"}");
return;
}
// 时间戳最多只能用1个小时
if (System.currentTimeMillis() - header.getTimestamp() > 3600000) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口验证失败,时间戳超时\"}");
return;
}
String body;
try {
body = EncryptUtils.desDecrypt(controller.getPara("body"), Constant.DESKEY);
} catch (Exception e) {
controller.renderText("{\"code\":\"403\", \"msg\":\"接口验证失败,Body解密失败\"}");
return;
}
String sign = header.getBusinessCode() + "|" + header.getTimestamp() + "|" + body + "|" + Constant.YGW_DESKEY;
if (header.getSign().equals(EncryptUtils.encrypt(sign))) {
inv.invoke();
return;
}
controller.renderText("{\"code\":\"403\", \"msg\":\"接口验证失败,签名错误\"}");
}
我用postman测试,返回这个{\"code\":\"403\", \"msg\":\"接口验证失败,验证信息不能为空\"}
#3楼 官方实习技术
2020-06-19 16:34:31
Chrome
0
看不懂这个,我们是xunruicms,你这些语法完全跟xunruicms不相关了