以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- API接口调用 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137570) |
-- 作者:hopestarxia -- 发布时间:2019/7/10 0:35:00 -- API接口调用 老师:现学习做一API接口写入数据, 其中接口示例文件为: { "content":{ "listGoodsUnit":[ { "goodsUnitId":"6", "goodsUnitName":"盒", "convertRatio":"11", "defaultFlag":"1", "remark":"" } ], "clientNo":"000001", "goodsNo":"A999", "goodsName":"艾特曼合金", "goodsTypeNo":"002001001", "goodsBrand":"漫威", "goodsModel":"X", "goodsUnit":"个", "storePrice":"10", "goodsPrice":"12", "goodsFreight":"0", "goodsCoefficient":"1", "goodsArea":"1", "goodsSize":"2", "goodsWeight":"3", "texture":"皮质", "barCode":"", "shelfLifeNumber":"150", "lowestInventory":"0", "highestInventory":"0", "expireWarning":"", "goodsStyle":"抛货", "remark":"" }, "userName":"张博", "userPass":"123456", "operate":"新增" } 接口说明文件为: 根据帮助文件及论坛中别人的提问参考: 请问如果我要实现填加一条记录,代码是否是如下: Dim hc As new HttpClient("ifs/goods_addGoodsNew_resultAction.action") Dim jstr As String="{ "content":{ "listGoodsUnit":[ { "goodsUnitId":"6", "goodsUnitName":"盒", "convertRatio":"11", "defaultFlag":"1", "remark":"" } ], "clientNo":"000001", "goodsNo":"A999", "goodsName":"艾特曼合金", "goodsTypeNo":"002001001", "goodsBrand":"漫威", "goodsModel":"X", "goodsUnit":"个", "storePrice":"10", "goodsPrice":"12", "goodsFreight":"0", "goodsCoefficient":"1", "goodsArea":"1", "goodsSize":"2", "goodsWeight":"3", "texture":"皮质", "barCode":"", "shelfLifeNumber":"150", "lowestInventory":"0", "highestInventory":"0", "expireWarning":"", "goodsStyle":"抛货", "remark":"" }, "userName":"张XX", "userPass":"123456", "operate":"新增" }" hc.FormData.Add("jsonStr", jstr) Dim ret As String = hc.getdata() output.show(ret) 请问按示列对接的用户名及密码不是该 在语句Dim jstr As String="{ 这个位置吗? 另外如果我想传入的数据是狐表对应的数据库下的数据库,代码应该如何调整。 新研究这块内容,请老师指导。 |
-- 作者:有点蓝 -- 发布时间:2019/7/10 8:48:00 -- 首先HttpClient中必须是完整的地址,如:Dim hc As new HttpClient("http://www.abc.com/ifs/goods_addGoodsNew_resultAction.action") 其次,json使用这种方法生成:http://www.foxtable.com/mobilehelp/scr/0253.htm
|
-- 作者:hopestarxia -- 发布时间:2019/7/10 12:02:00 -- 老师,参考您发的资料,以及对方接口说明示例: 整理成代码如下: Dim hc As new HttpClient("http://qingyun-test.feiyang56.cn/fyhdtest/ifs/goodsType_queryList_resultAction.action") Dim ordeJson As String ="{"userName":"张博","userPass":"E10ADC3949BA59ABBE56E057F20F883E","content":{"sourceType":"订单"}}" For Each ep As JToken In JArray.Parse(json) Output.Show("*:" & ep("*").ToString() & " *:" & ep("*").ToString()) Next 另外:如果我是想把查询到的结果全部列显示出来,For Each ep As JToken In JArray.Parse(json) Output.Show("*:" & ep("*").ToString() & " *:" & ep("*").ToString()) Next这里面应该如何修改? 看到对应的API示例如下: String orderJson="{\\"userName\\":\\"castle\\",\\"userPass\\":\\"123456\\",\\"content\\"...}" String key="C44792392FBAEA292994148806D562E0"; String sign =MD5_UTF8(orderJson+key); String param=" + orderJson+ "&sign=" + sign + ""; 刚研究这个,很多不明白 ,看帮助也还是在云里雾里的状态,请老师受累指导。 |
-- 作者:有点蓝 -- 发布时间:2019/7/10 14:30:00 -- json使用这种方法生成:http://www.foxtable.com/mobilehelp/scr/0253.htm |
-- 作者:hopestarxia -- 发布时间:2019/7/21 1:50:00 -- 研究了比较长时间还是没有看明白帮助示例,请问老师是否能以我发的资料,帮我举列指导一下。不胜感激! |
-- 作者:有点蓝 -- 发布时间:2019/7/21 20:13:00 -- Dim jo As New JObject jo("userName") = "castle" jo("userPass") = "123456"jo("content") = new New JObject jo("content")("sourceType") = "订单" dim orderJson as string = jo.tostring() msgbox(orderJson )
|
-- 作者:hopestarxia -- 发布时间:2019/7/21 23:34:00 -- 谢谢老师的指导: 老师: 我现在想查询对方的商品类别, 对方的提供的地址例如为:http://qingyun-test.feiyang56.cn/fyhdtest/ifs/goodsType_queryList_resultAction.action 提供的接口示例为:
{"userName":"张博","userPass":"E10ADC3949BA59ABBE56E057F20F883E","content":{"goodsTypeNo":"301","goodsTypeName":""}} 我照着老师的指点得出语句: Dim hc As new HttpClient("http://qingyun-test.feiyang56.cn/fyhdtest/ifs/goodsType_queryList_resultAction.action") Dim jo As New JObject jo("userName") = "张博" (此处实际接口用户名) jo("userPass") = "E10ADC3949BA59ABBE56E057F20F883E" (此处实际接口密码) jo("content") = new New JObject "请问老师这里是不是没注意多写了一个NEW?" jo("content")("goodsTypeNo") = "301" "请问老师:对方接口示例的301有什么用?" jo("content")("goodsTypeName") = "" 请问这里是和上行并在一起还是单独一行怎么定义? dim orderJson as string = jo.tostring() "定义变量等于JO定义" msgbox(orderJson ) 将变量结果返回消息框 请老师看看我在每句后面的理解是正确及指导一下我标注的不明白的地方。 |
-- 作者:hopestarxia -- 发布时间:2019/7/21 23:44:00 -- 老师,我进一步修改测试后,执行不再报错,得出如下界面(图片),请问是否就是代表已经连通了对方。 另外那个301的意思是否代表的我要查找301的值?
|
-- 作者:有点蓝 -- 发布时间:2019/7/22 8:38:00 -- Dim hc As new HttpClient("http://qingyun-test.feiyang56.cn/fyhdtest/ifs/goodsType_queryList_resultAction.action") Dim jo As New JObject jo("userName") = "张博" (此处实际接口用户名) jo("userPass") = "E10ADC3949BA59ABBE56E057F20F883E" (此处实际接口密码) jo("content") = New JObject "请问老师这里是不是没注意多写了一个NEW?" -是的 jo("content")("goodsTypeNo") = "301" "请问老师:对方接口示例的301有什么用?" -- 这个去看开发文档或者问对方,问我们没有用 jo("content")("goodsTypeName") = "" 请问这里是和上行并在一起还是单独一行怎么定义? -- 就这样用 Dim orderJson As String = jo.tostring() "定义变量等于JO定义" msgbox(orderJson ) --用于调试查看json的结果是否符合要求,没有问题的正式使用这句代码可以去掉 hc.Content = orderJson Dim ret = hc.GetData msgbox(ret) \'这里显示什么内容
|
-- 作者:hopestarxia -- 发布时间:2019/7/22 9:03:00 -- 老师,出现如下提示: |