码学堂商户接入指南
1. 概述与接入流程
2. 题目加载接口指南
3. 提交判题接口指南
4. 测评结果查询接口指南
5. 知识点加载接口指南
6. 知识点管理接口指南
7. 题目管理接口指南
选项格式说明
编程语言对应说明
8. 编程题、函数题、程序填空题批量上传测试数据集
9. 商户授权说明
-
+
首页
8. 编程题、函数题、程序填空题批量上传测试数据集
# 8.1 概述 接入商户可通过接口上传测试数据集。 # 8.2 批量上传测试数据集 ## 8.2.1 请求参数说明 | 序号 | 参数 | 名称 | 是否必须提供|是否加入签名 |描述 | | :----: | :----: | :----: | :----: |:---- |:---- | | 01 | merchant_id | 商户号 | 是 | 是 | | | 02 | email | 教师账号|是|是|机构下的教师码学堂账号 | | 03|timestamp|时间戳 | 否 | 是|建议提供| |04|ptype|题目类型|是|是|{1,2,3,4,5,6,7,8},分别对应判断题、单选题、多选题、填空题、程序填空题、函数题、编程题及主观题| |05|pid|题目ID|是|是|码学堂题目编号| | 06 | sign | 签名 | 是|否 | SHA256签名,具体签名示例请移步http://help.maxuetang.cn/project-14/doc-60/ | |07|filein|上传测试数据打包文件标识|是|否|上传zip文件标识,具体参考示例| **批量上传测试数据打包文件说明:** (1) 采用批量上传后,原来的测试数据将被删除; (2) 所有数据文件、分数描述文件必须采用UTF-8编码的文本文件; (3) 打包压缩文件必须为zip; (4) 压缩文件内所有文件必须为最上层文件,不能放置目录; (5) 测试数据输入文件后缀为.in,对应的输出文件后缀为.out,名称必须一致; (6) 分数描述文件中,第一行必须是:@charset=utf-8,接下来每一行表示一个测试数据的分数与提示,格式为:对应输入文件名称#分数#提示,如果不提供分数描述文件,每组测试默认为10分,提示信息为文件名称; (7) 可以参考此样例打包上传测试数据:[sample.zip](https://www.maxuetang.cn/lxojres/sample.zip "sample.zip") ## 8.2.2 请求地址及方式 请求地址:`https://mp.api.maxuetang.cn/problem-test-data` 请求方式:`POST` ## 8.2.3 返回JSON示例与参数说明 ```json { "success": true,//为true时,表示上传成功,为false时,表示上传失败 "msg": "成功", "data": { "uid": "54****************7",//码学堂教师用户ID "score": "10",//题目总分 "score_json": {//测试数据集元数据信息 "0": {//第1个测试数据 "score": "5",//分数 "desc": "a大于b" //描述 }, "1": {//第2个测试数据 "score": "3",//分数 "desc": "a等于b"//描述 }, "2": {//第3个测试数据 "score": "2",//分数 "desc": "a小于b"//描述 } }, "pid": "9219",//题目ID "ptype": "7",//题目类型 "email": "xxxx@qq.com"//码学堂教师登录账号 } } ``` ## 8.2.4 接入示例 ```java //hutool-all-4.6.7.jar //上传编程题、程序填空题、函数题的测试数据 public static void uploadTestData4Problem() { String url = "https://mp.api.maxuetang.cn/problem-test-data"; Map params = new TreeMap(); params.put("merchant_id", "商户ID"); params.put("email", "xxxx@qq.com");//机构下的码学堂教师账号 params.put("timestamp", System.currentTimeMillis()); params.put("ptype", 7);//题目类型,必须 params.put("pid", 9219);//题目ID,必须 params.put("sign", SignHelper.sign(params, "商户密钥"));//签名 HttpResponse res = HttpRequest.post(url).form(params).header("Content-Type", ContentType.MULTIPART.toString()).form("filein", new File("/Users/apple/Downloads/sample.zip")).execute(); System.out.println("执行结果:"+res.body()); } ```
码学堂管理员
2023年6月6日 12:33
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码