雁过留声 发表于 2024-7-27 07:40:54

Postman测试金蝶云星空Webapi【协同开发云】

Postman测试金蝶云星空Webapi【协同开发云】

环境说明

金蝶协同开发云环境
工作目录空间:D:\WorkSpace\开发商码
协同账套映射到本机的1200端口
//本机K3网址
http://localhost:1200/k3cloud
业务配景

基于金蝶云星空提供的接口测试,交付之前或者联调之前开发者先自测,纵然纠错,进步效率。
大抵流程

先请求登录接口,获得token后再请求标准webapi或者自界说接口,这样上下文才不会空。
具体操作

请求范例: POST
地址格式:http://localhost:1200/k3cloud/对应的方法拼接结构体
请求登录接口

请求地址
http://localhost:1200/Kingdee.bos.webapi.ServicesStub.authservice.validateuser.common.kdsvc
请求json:
{
    "acctid":"账套id",
    "userName":"账号",
    "password":"密码",
    "lcid":2052
}
accid:账套ID
userName:用户名
password:密码
lcid:语言【2052代表中文】
请求头:
https://i-blog.csdnimg.cn/blog_migrate/c3d69b873f31708377119eaa72011a3a.png
https://i-blog.csdnimg.cn/blog_migrate/14559cca7ac7530b29966d5232911f8b.png
返回以上信息代表登录成功。
请求标准接口

查察

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc
请求体构建json:
{
    "formid":"XXXX_AS_ProductLibrary",
    "data":{
    "CreateOrgId": 0,
    "Number": "ZDY00000009HDC",
    "IsSortBySeq": "false"
    }
}
https://i-blog.csdnimg.cn/blog_migrate/b0d07af8d2d479de739d3d44575799c7.png
相应结果:
https://i-blog.csdnimg.cn/blog_migrate/2e6679d87700e1f5bfcc591b95823303.png
生存

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
请求体构建json:
{
    "formid":"XXXX_AS_ProductLibrary",
    "data":{
    "NeedUpDateFields": [],
    "NeedReturnFields": [],
    "IsDeleteEntry": "true",
    "SubSystemId": "",
    "IsVerifyBaseDataField": "false",
    "IsEntryBatchFill": "true",
    "ValidateFlag": "true",
    "NumberSearch": "true",
    "IsAutoAdjustField": "false",
    "InterationFlags": "",
    "IgnoreInterationFlag": "",
    "IsControlPrecision": "false",
    "ValidateRepeatJson": "false",
    "Model": {
      "FID": 0,
      "FNumber": "XLH20231031001",
      "FCreateOrgId": {
            "FNumber": "10"
      },
      "FUseOrgId": {
            "FNumber": "10"
      },
      "FName": "序列号001",
      "FCustId": {
            "FNUMBER": "CUST0001"
      },
      "FOrderNum": "SO2023001",
      "FOrderInt": 2,
      "FMaterialId": {
            "FNUMBER": "010101076"
      },
      "FQty": 1,
      "FProductionDate": "2023-10-17 00:00:00",
      "FExpirationDate": "2023-12-16 00:00:00",
      "FOutStockDate": "2023-10-31 11:13:25",
      "FOutStockrNum": "XSCK001",
      "FRemark": "测试备注",
      "FDefinerOute": "test",
      "FDeliveryNoticeNo": "D20231031001"
    }
}
}
https://i-blog.csdnimg.cn/blog_migrate/36e02938fad6ce04cd0879a26c4048d2.png
https://i-blog.csdnimg.cn/blog_migrate/1e03962003948cfb697161f232ba61be.png
相应结果:
{
    "Result": {
      "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                  "Id": 106428,
                  "Number": "XLH20231031001",
                  "DIndex": 0
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
      },
      "Id": 106428,
      "Number": "XLH20231031001",
      "NeedReturnData": [
            {}
      ]
    }
}
提交

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc
请求体:
{
   "formid":"XXXX_AS_ProductLibrary",
   "data":{
      "CreateOrgId": 0,
      "Numbers": ["XLH20231031001","XLH20231031002"],
      "Ids": "",
      "SelectedPostId": 0,
      "NetworkCtrl": "",
      "IgnoreInterationFlag": ""
    }
}
https://i-blog.csdnimg.cn/blog_migrate/8835f0096d8202b1e3e12cd997bf86d7.png
相应结果
{
    "Result": {
      "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                  "Id": 106427,
                  "Number": "XLH20231031001",
                  "DIndex": 0
                },
                {
                  "Id": 106428,
                  "Number": "XLH20231031002",
                  "DIndex": 1
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
      }
    }
}
https://i-blog.csdnimg.cn/blog_migrate/54887bef8b18e7b18a7f549c9f785862.png
考核

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc
请求体:
{
   "formid":"XXXX_AS_ProductLibrary",
   "data":{
      "CreateOrgId": 0,
      "Numbers": ["XLH20231031001","XLH20231031002"],
      "Ids": "",
      "SelectedPostId": 0,
      "NetworkCtrl": "",
      "IgnoreInterationFlag": ""
    }
}
https://i-blog.csdnimg.cn/blog_migrate/1ead6c650a93506042e47e8ad08f5835.png
相应结果
{
    "Result": {
      "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                  "Id": 106427,
                  "Number": "XLH20231031001",
                  "DIndex": 0
                },
                {
                  "Id": 106428,
                  "Number": "XLH20231031002",
                  "DIndex": 1
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
      }
    }
}
https://i-blog.csdnimg.cn/blog_migrate/e53a4e2861072fa87e466c5ecf1b35a4.png
反考核

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit.common.kdsvc
请求体:
{
   "formid":"XXXX_AS_ProductLibrary",
   "data":{
      "CreateOrgId": 0,
      "Numbers": ["XLH20231031001","XLH20231031002"],
      "Ids": "",
      "SelectedPostId": 0,
      "NetworkCtrl": "",
      "IgnoreInterationFlag": ""
    }
}
https://i-blog.csdnimg.cn/blog_migrate/9fbe89f8683bf4629010d33693563960.png
相应结果
{
    "Result": {
      "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                  "Id": 106427,
                  "Number": "XLH20231031001",
                  "DIndex": 0
                },
                {
                  "Id": 106428,
                  "Number": "XLH20231031002",
                  "DIndex": 1
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
      }
    }
}
https://i-blog.csdnimg.cn/blog_migrate/85afe98602d4075c5e12bfe5b07fd9df.png
撤销

请求方式:POST
请求地址:
http://localhost:1200/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.CancelAssign.common.kdsvc
请求体和相应体都和提交、考核、反考核一致。
请求自界说接口

参数是字符串

请求方式:POST
请求地址:
http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrder.common.kdsvc
请求体构建json:
{
    "customer":"XXXX电气有限公司"
}
https://i-blog.csdnimg.cn/blog_migrate/7eba93296139a5d6fc8b44c4cf2515c4.png
相应结果
https://i-blog.csdnimg.cn/blog_migrate/4243798fb6a2bd7c11e0a8abcf0487c8.png
参数是实体类

单个实体类

请求方式:POST
请求地址:
http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrders.common.kdsvc
请求体构建json:
{
    "ai":
      {
      "Cust":"ZZZZ电气有限公司",
      "Number":"",
      "Name":"蝴蝶床"
    }
}
https://i-blog.csdnimg.cn/blog_migrate/076a24d9704aab90807c8833dd5a8244.png
相应结果:
https://i-blog.csdnimg.cn/blog_migrate/efe080ce6fa4aae303f9bd2507fa4324.png
实体类是集合

请求方式:POST
请求地址:
http://localhost:1200/XXXX.K3.SCM.WebApi.ServicesStub.AfterOrder.GetAfterOrderList.common.kdsvc
请求体构建json:
{
    "aiList":
      [{
      "Cust":"XXXX电气有限公司",
      "Number":"",
      "Name":"蝴蝶床"
    },{
      "Cust":"ZZZZ电气有限公司",
      "Number":"",
      "Name":"床"
    }]
}
https://i-blog.csdnimg.cn/blog_migrate/d0743bf8935fb04c044bb4d7cd834f2b.png
相应结果
https://i-blog.csdnimg.cn/blog_migrate/acb08f712e95ca166bdf08839589aecc.png
其他

请求范例是POST如果改成GET请求,会报错
报错截图
https://i-blog.csdnimg.cn/blog_migrate/2f09acdb9ae5b65ef1d1b7577c11030f.png
相应结果:
{
    "actionname": "ShowErrMsg",
    "params": [
      {
            "errorTitle": "金蝶温馨提示: 应用服务器发生错误,请联系系统管理员检修!",
            "errorInfo": "发生时间:\t2023-10-31 09:54:53\r\n错误编号:\t500\r\n错误信息:\t索引超出范围。必须为非负值并小于集合大小。\r\n参数名: index\r\n===================================================\r\n调用堆栈:\r\n   在 System.Collections.ArrayList.get_Item(Int32 index)\r\n   在 System.Collections.Specialized.NameValueCollection.GetKey(Int32 index)\r\n   在 System.Web.HttpValueCollection.Get(Int32 index)\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.JQueryRequestExtractor.GetByGet(HttpRequest request) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\Pipeline\\JQueryRequestExtractor.cs:行号 35\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.RequestExtractor.Create(HttpRequest request) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\Pipeline\\RequestExtractor.cs:行号 50\r\n   在 Kingdee.BOS.ServiceFacade.KDServiceFx.KDSVCHandler.ProcessRequest(HttpContext context) 位置 d:\\k3cloudbuild\\BOS_V7_PT\\BOS\\ServiceFacade\\Src\\Kingdee.BOS.ServiceFacade.KDServiceFx\\HttpHandlers\\KDSVCHandler.cs:行号 20\r\n   在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n   在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)\r\n   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)\r\n\r\n"
      }
    ]
}
因此请求范例不可以混用,要对,根本就是POST请求。
POST请求和WebAPI之间的区别是:

[*] POST请求是HTTP协议的一种请求方式,用于向服务器提交数据,通常用于表单提交数据;而WebAPI是一种服务,提供了一组RESTful接口,用于向服务器请求数据。
[*] POST请求是一种客户端向服务器发送数据的方式,通常用于表单提交等场景;而WebAPI则是一种服务器端提供数据的方式,客户端可以通过接口从服务器获取数据。
[*] POST请求必要指定请求的URL和提交的数据,服务器可以根据请求的URL来处理数据;而WebAPI则必要客户端通过URL和参数指定要请求的数据,服务器在接收到请求后返回所需的数据。
总之,POST请求和WebAPI服务是两种不同的概念,POST请求用于提交数据,而WebAPI用于提供数据服务。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Postman测试金蝶云星空Webapi【协同开发云】