Caché自定义%session和%request变量

前言

后台代码中,有些时候会去使用%session和%request中的数据,但是在terminal调试时会发现这两个变量并没有定义,所以想到一个方法是自己去定义此变量,故而创建了BSP.SYS.COM.MockSession模拟%CSP.SessionBSP.SYS.COM.MockRequest模拟%CSP.Request

BSP.SYS.COM.MockSession

定义%session变量,模拟其Data数据

模拟简单的HIS会话

d ##class(BSP.SYS.COM.MockSession).MockSimpleHISSession(userId, locId, groupId)
参数说明
userId用户ID
locId科室ID
groupId安全组ID
  1. terminal先调用方法,去定义并模拟出%session
    d ##class(BSP.SYS.COM.MockSession).MockSimpleHISSession(10209,95,29)
    
  2. 再去调用用到%session变量的方法即可
    ///下面方法仅为了展示Data数据
    d ##class(BSP.SYS.COM.MockSession).DisplaySession()
    

根据会话ID模拟会话

d ##class(BSP.SYS.COM.MockSession).MockSessionFromSessionId(sessionId)
参数说明
sessionId会话ID
  1. 通过数据库SMP,系统-CSP会话,查到会话ID
  2. terminal调用方法,定义模拟%session
    d ##class(BSP.SYS.COM.MockSession).MockSessionFromSessionId("fRhu7uxMCx")
    
  3. 再去调用用到%session变量的方法即可
    ///下面方法仅为了展示Data数据
    d ##class(BSP.SYS.COM.MockSession).DisplaySession()
    

BSP.SYS.COM.MockRequest

定义%request变量,模拟其Data、Cookies、MimeData、CgiEnvs数据,主要就只是Data数据

通过键值对字符串模拟简单的请求数据

d ##class(BSP.SYS.COM.MockRequest).MockSimpleRequest(keyValueStr)
参数说明
keyValueStr键值对字符串 key=val&key2=val2形式
  1. terminal先调用方法,去定义并模拟出%request
    s str="EpisodeID=1&PatientID=1&DocName=李华"
    d ##class(BSP.SYS.COM.MockRequest).MockSimpleRequest(str)
    
  2. 再去调用用到%request变量的方法即可
    ///下面方法仅为了展示Data数据
    d ##class(BSP.SYS.COM.MockRequest).DisplayRequest()
    
    模拟请求示例

总结

上述方法自行定义了%session和%request变量,只是为了方便terminal调试用到了%session和%request数据的方法,请不要在正式代码中使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值