在HC免费开源物业系统中开发接口,很详细
在HC免费开源物业系统中开发接口,很详细
- 一、创建对应的数据表已经对应的DAO
- 二、创建Service,也就是SMO
- 1、创建测试接口
- 2、创建对应接口的实现类
- 3、接着是创建Cmd,也就相当于Controller
- 三、使用Java110Cmd注解的值注册服务
- 1、先使用dev账号登录
- 2、在“服务--服务注册--服务绑定”进行服务绑定
- (1)、选择应用
- (2)、选择/添加服务
- 四、调用接口
- 1、在postman中调用
- 2、在项目中调用
- 五、踩坑记录
- 1、可以在服务注册哪里看到绑定的服务信息,但调用接口的时候进不去方法里,打断点也不会停下
最近在捣鼓HC免费开源物业系统,他们的开发文档比较简单,有些细节也没说清楚,因此踩了不少坑,这里做个记录。
这是他们的开发文档
http://www.homecommunity.cn/devDoc/
我是按照网友贡献的开发接口博客进行接口开发,地址如下:
http://bbs.homecommunity.cn/document.html?docId=102022061989930248
一、创建对应的数据表已经对应的DAO
这里我只是想摸索接口是怎么调用的,就没有建表和DAO,网友的博客有说明怎么操作。
二、创建Service,也就是SMO
1、创建测试接口
2、创建对应接口的实现类
我看了一下,SMO和对应的实现类并不放在同一模块,想放那个模块自行决定,我就放在“service-common ”模块
这是模块的项目模块的介绍
地址如下:
http://bbs.homecommunity.cn/document.html?docId=102022061989930248
3、接着是创建Cmd,也就相当于Controller
想要看到返回值就使用context调用一下setResponseEntity方法设置一下值,否则就只能看到接口调用成功的信息。
我这里只是想看看接口调用的结果,就简单返回个字符串,更多详情可以看其他xxxCmd类。
注意:
Java110Cmd注解中的 serviceCode 的值后面要使用dev账号注册服务。
三、使用Java110Cmd注解的值注册服务
1、先使用dev账号登录
2、在“服务–服务注册–服务绑定”进行服务绑定
(1)、选择应用
真正开发接口的时候选择对应应用就行了,我这里选择的是小区管理系统 web 端
(2)、选择/添加服务
一般都是先添加服务后再选择
注意!!!
这个服务编码就是@Java110Cmd对应的值,千万不要写错了,写错了后面调用接口会报错。
我这里添加过了,就不再做添加,点击选择服务进行选择就行了
添加成功之后可能在选择服务时看不到,选择“缓存–刷新缓存”,清一下对应缓存
没有意外的话就可以在选择服务那看到了。
================================================================================================
如果看不到的话可以去“tt”数据库中的“c_service”,使用Java110Cmd注解的值(服务编码)查一下有没有对应的记录,没有的话应该就是添加时服务编码写错了
四、调用接口
1、在postman中调用
2、在项目中调用
我这里是测试,就随便找地方加个按钮进行接口调用,先看看效果
源码如下:
_testGet: function() {var param = {params: {page: 1,row: 100,shType: '2806',communityId: vc.getCurrentCommunity().communityId}};//发送get请求vc.http.apiGet('test.testMethod',param,function (json, res) {let _storehouseManageInfo = JSON.parse(json);vc.component.addResourceStoreInfo.storehouses = _storehouseManageInfo.data;}, function (errInfo, error) {console.log('请求失败处理');});
},
从其他地方拿到vc.http.apiGet方法,将第一个参数值改为我的@Java110Cmd注解(服务编码)的值,其他都没有改,会自动生成当前时间以及TRANSACTION-ID
五、踩坑记录
1、可以在服务注册哪里看到绑定的服务信息,但调用接口的时候进不去方法里,打断点也不会停下
检查一下自己新建的服务接口、Cmd接口的所处包位置,如果是建在已经存在的包里,那应该没有问题,如果是放在自己新建的包里,那么可能是没有扫描到包,在对应的ApplicationStart添加扫描包
添加之后重启对应的ApplicationStart服务。
在HC免费开源物业系统中开发接口,很详细相关推荐
- Symbian免费开源 智能手机系统市场再燃烽火
Symbian免费开源 智能手机系统市场再燃烽火 分类: 热点报道 推荐者:ming_ke| 2 个评论 上周四,Symbian协会宣布,已完成Symbian平台的源代码开源发布.此举意味着目前智能手 ...
- 微商城之业务逻辑架构设计,B2B2C模式流程设计-OctShop免费开源商城系统
[B2B2C模式类似淘宝京东]:商家后台发布商品时,勾选:支持[快递物流发货],同时也可以勾选[货到付款],设置好运费模板,以及其他商品属性后,此商品就可以开启[B2B2C模式].流程:买家下单 -& ...
- C语言做会员充值系统,手把手教你轻松在免费收银系统中实现会员充值消费
在日常操作中,有不少用户反映免费收银系统中,会员充值后,在收银台,没有成功扣除充值卡上面的金额.其实,在免费收银系统中实现会员充值消费,只需要经过非常简单的操作就能搞定. 下面我就告诉大家正确的操作方 ...
- 机器视觉:嵌入式视觉系统中的接口
机器视觉:嵌入式视觉系统中的接口 现在我们要构建一个自动割草机,割草机的空间定位需要通过相机扫描环境来获得,这个场景下传统的机器视觉系统满足不了,但嵌入式系统可以满足.为什么?因为割草机是用电池供电的 ...
- Mac 系统中各个文件夹详细介绍
Mac 系统中各个文件夹详细介绍 Mac OS X 系统以Unix作为核心,根目录为 / 打开Macintosh HD你会发现内中有四个文件夹分别为:应用程序(Applications).系统(Sys ...
- 供应商去市网维护银行账号信息_供应商信息中心是BBP系统中一项很重要的内容...
供应商管理平台 1.采购申请的网上发布 根据生产和物料的采购周期,事先将需采购物料的采购申请发布到网上.外部供应商可以查询到自己的供货计划.这样分供方可以根据采购计划提前备料和安排生产,有效地保证供货 ...
- linux系统rm什么命令,linux系统中rm命令的详细解释
Linux系统中rm命令其实是remove的意思,删除一个或多个文件目录,下面由学习啦小编为大家整理了linux系统中rm命令的详细解释,希望对大家有帮助! linux系统中rm命令的详细解释 1.命 ...
- 国内免费开源CMS系统大全
CMS网站内容管理系统, 即 Content Management System ,英文缩写是CMS. 网站内容管理系统具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本. 网站内容管 ...
- 免费开源Odoo系统破解企业数字化转型难题
今年4月中旬,国家发改委高技术发展司在<关于推进"上云用数赋智"行动培育新经济发展实施方案>答记者问上,指出我国中小微企业数字化转型有三难:不会转,没钱转,不敢转. 不 ...
最新文章
- Java获取照片的Exif信息,并解析GPS
- 力扣(LeetCode)刷题,简单题(第13期)
- 调研 | 大数据师资培训,你想学哪门课、有哪些意见?
- 最好用的 IntelliJ 插件 Top 10
- .net程序员面试考试题目
- Linux进程间通讯之消息队列
- linux Figlet 转换字符字
- [网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap普及
- 本地方法(JNI)——数值参数与返回值
- loop 伪设备 挂在文件系统
- C#基础---Queue(队列)的应用
- 读 疯狂的程序员 有感
- 小乌龟SVN合并分支到主干、合并主干到分支,工具操作
- 基于Go的马蜂窝旅游网分布式IM系统技术实践
- 视频去模糊论文阅读-Cascaded Deep Video Deblurring Using Temporal Sharpness Prior
- 2019华为机试题 消息扩散
- 产品经理,设计师,前端工程师必备的绘图工具(原型图,思维导图,UML,流程图,架构图)
- 电子设计教程33:RC桥式正弦波振荡电路
- 为mandriva 2010 spring打包(geany-0.19.2)
- R语言apply族函数详解