找回密码
 立即注册

QQ登录

只需一步,快速开始

吴小胖 讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2022-6-14 17:25  /   查看:6966  /  回复:17
image.png98764037.png
哈哈哈,别的小朋友有的,我们一定要有!而且可定要有!
经常逛论坛,看到格友们在努力学习别家的开发文档,真的好辛苦!那天我就在想,我们什么时候可以写一个开放文档去“折磨”一些其他人呢?哈哈哈,活字格还真给咱们提供了这样的机会!活字格真的可以通过简单的设置就能开发出WebApi,供其他“程序猿”调用,实现增删改查!

这个技巧也是我在观看宁伟老师的公开课学到的,传送门:
image.png781201782.png
【已结束】全栈开发新体验 | 全方位演示低代码快速构建前后端应用
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=146511&fromuid=66072
(出处: 葡萄城产品技术社区)


关于WebApi的基础知识我就不写了,不懂的格友可以问下度娘,我今天的教程只是将宁老师在公开课里的讲解做了笔记,只是讲解这个功能点的实现【大佬勿喷】

1、登陆自己的活字格管理控制台,我使用的是活字格云【特别安利一波:活字格云超级好用哦!】设置——第三方授权(估计之前有很多格友就见过这个按钮了,但是就是不知道干什么用……哈哈哈,我就是这样的)
image.png57765807.png
2、给它起一个温暖的名字~下面的选项不知道什么意思的可以参考一下帮助文档:
image.png607510680.png
image.png527266540.png
3、好了,现在标识和秘钥都有了,把这两个信息发给需要的“程序猿”他们就可以获取accesstoken了~
请求地址:您服务器的域名或者IP/UserService/connect/token 【IP要加端口22345】
请求方式:POST
application/x-www-form-urlencoded
在此我用ApiPost演示,当然是用活字格的http请求也是可以的~这是请求的参数,其中scope:FGC_AllAppsServerCommands 和 grant_type:client_credentials 是固定的~
  1. client_id:
  2. client_secret:
  3. scope:FGC_AllAppsServerCommands
  4. grant_type:client_credentials
复制代码
image.png851959228.png
这样就可以去到accesstoken了~

4、新建一个表,表里的字段根据您的需求来,我做的是一个简单的demo,里面就两个字段,name和tel
image.png958155822.png

5、新建一个服务端命令,新增参数:name和tel 这个是需要和表里的字段相互对应的;
image.png115803832.png

6、添加 数据表操作,将字段和参数对应;
image.png972265014.png

7、增加返回命令,返回码和返回信息可以自定义;这个定义的返回信息将在返回值里显示;
image.png525725707.png
image.png655306701.png

8、将这个工程文件上传到您的服务器;把服务端命令的地址发送给您的“程序猿”即可~他就可以通过webapi对您的表进行增加数据了~ 波浪线代表的是您的服务器地址+应用名称,比如我的服务器地址是:http://www.12345678.com 应用名是:webapi 那么您给“程序猿”的请求地址就是:http://www.12345678.com/webapi/ServerCommand/webapi
请求参数:name和tel是我们在服务端命令参数里设置的~
  1. {
  2.     "name":"张三",
  3.     "tel":"1234"
  4. }
复制代码

image.png734010009.png

9、我们来用apipost自己来测试一下~
Header: Authorization:token_type空格加accesstoken
token_type是我们在第三步里获得的
accesstoekn也是在第三步里获得的
image.png565847777.png
它们俩拼接在一起就是这样式的:
image.png196199034.png
body里传入一下的参数:
image.png335357360.png
成功后就会返回以上信息~
我这只是做了一个简单的demo,您也可以自己定义条件,不同的情况返回不同的错误码~

10、我们再回到设计器里同步一下数据库~这条数据就添加进来了~
image.png18368834.png

现在我们已经完成了增删改查里的增加功能了,聪明的您是不是已经摩拳擦掌,准备试试删除、修改和查询功能了呢~
以上

评分

参与人数 6金币 +1332 满意度 +20 收起 理由
13794930121 + 5
sz_xd + 5
vickdracula + 5
Chelsey.Wang + 666 赞一个!
MaxDang + 666
swejet + 5

查看全部评分

17 个回复

正序浏览
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-4-7 14:30:23
19#
titan55441 发表于 2023-4-7 14:25
所以实际应用的时候,这个步骤是要每次获取的?

设置一个计划任务,每两小时自动获取一次,或者把token的实效延长
回复 使用道具 举报
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-4-7 14:29:55
18#
gczxxu 发表于 2023-4-6 18:04
过来人,建议活字格的API尽量单独写webapi服务,一是测试更方便,二是可以直接使用.net6来写了(真心方便) ...

感谢大佬的指点!写这个教程的初衷是为了面向诸如我之类的小白用户~嘿嘿。可能提到开发,对于我们来说还是有点难度的~
回复 使用道具 举报
titan55441
初级会员   /  发表于:2023-4-7 14:25:35
17#
吴小胖 发表于 2023-4-6 17:24
token是有有效期的~2小时就会过期的~

所以实际应用的时候,这个步骤是要每次获取的?
回复 使用道具 举报
gczxxu
银牌会员   /  发表于:2023-4-6 18:04:56
16#
过来人,建议活字格的API尽量单独写webapi服务,一是测试更方便,二是可以直接使用.net6来写了(真心方便)。。三是可以和活字格脱离开,在活字格升级时也无需再升级webapi。
注:如果需要操作数据库,建议活字格应用数据库采用外部数据库。
回复 使用道具 举报
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-4-6 17:24:21
15#
titan55441 发表于 2023-4-6 09:50
大佬好!我按照您的做了一个,测试没啥问题。但是好像过一段时间就连不上了,然后得重新获取一下token才行 ...

token是有有效期的~2小时就会过期的~
回复 使用道具 举报
titan55441
初级会员   /  发表于:2023-4-6 09:50:10
14#
大佬好!我按照您的做了一个,测试没啥问题。但是好像过一段时间就连不上了,然后得重新获取一下token才行,然后功能就正常了。请问这是正常现象吗?过段时间就得重新获取下token?如果希望不重新获取就可以正常使用,应该如何处理呢? Snipaste_2023-04-06_09-48-33.png
回复 使用道具 举报
遇见未知的自己
银牌会员   /  发表于:2022-11-5 15:36:50
13#
吴小胖 发表于 2022-11-5 15:13
您先在本地测试好,然后再发布。

好的,谢谢指点
回复 使用道具 举报
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2022-11-5 15:13:32
12#
遇见未知的自己 发表于 2022-11-5 15:05
是发布到外网地址测试的

您先在本地测试好,然后再发布。
回复 使用道具 举报
遇见未知的自己
银牌会员   /  发表于:2022-11-5 15:05:06
11#
吴小胖 发表于 2022-11-5 13:25
大佬,您是在本地测试的吗?如果是的话,需要在设计器里按一下F5运行一下~然后才能请求~

是发布到外网地址测试的
回复 使用道具 举报
吴小胖讲师达人认证 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2022-11-5 13:25:26
10#
遇见未知的自己 发表于 2022-11-5 09:59
按你的步骤,到第3步后,测试没有出token,不知是哪里出了问题

大佬,您是在本地测试的吗?如果是的话,需要在设计器里按一下F5运行一下~然后才能请求~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部