Skip to content

清华大学计算机系2021年夏季学习《JAVA程序设计与训练》大作业后端仓库

Notifications You must be signed in to change notification settings

sunyt32/KGEducator_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

知识图谱智能教育 接口文档

用户认证方式

除了登录注册以外,其余接口均需要利用登录或注册获取的Token。使用方式为在Header中加入字段:

{
  "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjF9.CkZaotlKqW0J-iJwlEjiUrapjD9Fb8eNkYdQ4EHuUFU"
}

如果忘记加入,或者加入了错误的Token,后端会直接返回Unauthorized信息:

  "msg": "Token is invalid"
}

登录注册部分

用户登录接口

  • 请求方式:POST
  • URL:/login

功能描述

用户使用注册邮箱和密码登录,以获取Token用于后续接口调用。

参数

参数名 描述 数据类型
email 用户邮箱 string
password 用户密码 string

成功返回范例

{
	"Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjF9.CkZaotlKqW0J-iJwlEjiUrapjD9Fb8eNkYdQ4EHuUFU",
}

用户注册接口

  • 请求方式:POST
  • URL:/register

功能描述

用户使用邮箱注册,以获取Token用于后续接口调用。若邮箱格式错误或者用户已注册则会注册失败。

参数

参数名 描述 数据类型
email 用户邮箱 string
password 用户密码 string

成功返回范例

{
	"Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjF9.CkZaotlKqW0J-iJwlEjiUrapjD9Fb8eNkYdQ4EHuUFU",
}

数据接口部分

上传用户信息接口

  • 请求方式:POST
  • URL:/info/upload

功能描述

上传用户的昵称与年级。

参数

参数名 描述 数据类型
name 用户昵称 string
grade 用户年级 int

成功返回范例

{
	"msg": "Success"
}

下载用户信息接口

  • 请求方式:GET
  • URL:/info/download

功能描述

下载用户的昵称与年级。

参数

此接口不需要任何参数。

成功返回范例

{
	"data": {
		"name": "PrettyUU",
		"grade": "1"
	}
}

上传学科列表接口

  • 请求方式:POST
  • URL:/subject/upload

功能描述

上传用户定制的需要显示的学科列表。

参数

参数名 描述 数据类型
subject 用户选择的学科列表 list

请求体范例

{
	"subject": ["chinese", "english"]
}

成功返回范例

{
	"msg": "Success"
}

下载学科列表接口

  • 请求方式:GET
  • URL:/subject/download

功能描述

下载用户定制的需要显示的学科列表。

参数

此接口不需要任何参数。

成功返回范例

{
	"data": ["chinese", "english"]
}

更改收藏夹接口

  • 请求方式:POST
  • URL:/collection

功能描述

进行对用户收藏夹的增加与删除(后端执行顺序为先删除后增加),其中对收藏单元的描述为["学科", "实体名称"],返回更改过后的收藏夹。

参数

参数名 描述 数据类型
add 用户增加的学科列表 list
delete 用户删除的学科列表 list

请求体范例

{
	"add": [["biology", "基因工程"],
	["math", "分类节点"]],
	"delete":[["biology", "基因工程"]]
}

成功返回范例

{
	"data": [["biology", "基因工程"],
	["math", "分类节点"]]
}

上传访问记录接口

  • 请求方式:POST
  • URL:/history/upload

功能描述

进行对用户历史访问记录的更新,其中对历史记录单元的描述为["学科", "实体名称"]。

参数

参数名 描述 数据类型
history 用户增加的学科列表 list

请求体范例

{
	"history": [["biology", "基因工程"],
	["math", "分类节点"]]
}

成功返回范例

{
	"msg": "Success"
}

下载访问记录接口

  • 请求方式:GET
  • URL:/history/dowanload

功能描述

进行对用户历史访问记录的拉取,其中对历史记录单元的描述为["学科", "实体名称"]。

参数

此接口不需要任何参数。

成功返回范例

{
	"data": [["biology", "基因工程"],
	["math", "分类节点"]]
}

上传考试记录接口

  • 请求方式:POST
  • URL:/exam/upload

功能描述

进行对用户考试记录的更新。

参数

参数名 描述 数据类型
data 用户完成的试题记录列表 list

试题记录单元

参数名 描述 数据类型
id 题目id string
name 题目对应实体名称 string
body 题目内容 string
realAns 正确答案 string
userAns 用户答案 string

请求体范例

{
	"data": [{"id": "28937",
	"name": "基因工程",
	"body": "试管婴儿是解决不孕的有效手段。试管婴儿实际上是指受精卵在体外培养3-5天形成胚胎后移植入母体子官内着床继续发育形成胎儿直到分娩。试管婴儿技术在生物学上依据的原理是()A.有性生殖B.无性生殖C.克隆技术D.基因工程",
	"realAns": "A",
	"userAns": "B"}]
}

成功返回范例

{
	"msg": "Success"
}

下载推荐试题接口

  • 请求方式:GET
  • URL:/history/dowanload

功能描述

进行对用户历史访问记录的拉取,其中对历史记录单元的描述为["学科", "实体名称"]。

参数

此接口不需要任何参数。

试题单元

参数名 描述 数据类型
id 题目id string
qBody 题目内容 string
qAnswer 正确答案 string

成功返回范例

{
	"data":"[
		{"qAnswer":"A",
		"id":38937,
		"qBody":
		"试管婴儿是解决不孕的有效手段。试管婴儿实际上是指受精卵在体外培养3-5天形成胚胎后移植入母体子官内着床继续发育形成胎儿直到分娩。试管婴儿技术在生物学上依据的原理是()A.有性生殖B.无性生殖C.克隆技术D.基因工程"},
		{"qAnswer":"D",
		"id":43998,
		"qBody":"(2012济南,18)下列哪一项不是基因工程的应用实例()A.科学家将人的生长激素基因连接到大肠杆菌的DNA上,培育出了能生产生长激素大肠杆菌B.科学家把美洲拟蝴蝶鱼的抗冻基因转入番茄细胞中,培育出了抗冻番茄C.我国农业科学家培育的抗虫棉D.袁隆平院士培育的杂交水稻"}
	]"
}

About

清华大学计算机系2021年夏季学习《JAVA程序设计与训练》大作业后端仓库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages