- 请求路径:
/signup
- 请求方式:
POST
- 接口描述:该接口用于用户注册
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
username | String | 必须 | 用户名 |
password | String | 必须 | 用户密码(待完成项:用户密码加密处理) |
请求参数样例:
{
"username": "F.t",
"password": "123456"
}
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | String | 非必须 | 提示信息 |
data | object | 非必须 | 返回的数据 |
响应数据样例:
{
"code": 1,
"msg": "success",
"data": null
}
- 请求路径:
/login
- 请求方式:
POST
- 接口描述:该接口用于查询用户数据
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
username | String | 必须 | 用户名 |
password | String | 必须 | 用户密码(待完成项:用户密码加密处理) |
请求参数样例:
{
"username": "F.t",
"password": "123456"
}
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | String | 非必须 | 提示信息 |
data | object | 必须 | 返回的数据(token) |
token | object | 必须 | 经过 Base64 编码后的 JWT |
响应数据样例:
{
"code": 1,
"msg": "success",
"data": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiRi50IiwiZXhwIjoxNzE0OTI0MTI0fQ.Bn9cwV1omIVHJHp5SN3qpRuxwvcjBj-rahZFEbcUBbM"
}
- 请求路径:
/user/addinfo
- 请求方式:
POST
- 接口描述:该接口用于用户完善信息
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
weight | double | 必须 | 体重 |
bodyFatRate | double | 必须 | 体脂率 |
heartRate | int | 必须 | 心率 |
(注意:此处无用户密码加密处理要求)
请求参数样例:
{
"weight": 60,
"bodyFatRate": 20.1,
"heartRate": 82
}
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | String | 非必须 | 提示信息 |
data | object | 非必须 | 返回的数据 |
响应数据样例:
{
"code": 1,
"msg": "success",
"data": null
}
- 请求路径:
/user/summarize
- 请求方式:
POST
- 接口描述:该接口用于根据用户提供的健康数据,通过大模型智能算法生成个性化的健康建议。
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
token | String | 必须 | 用户认证token(来自登录接口的返回) |
healthData | object | 必须 | 用户健康数据对象,包含体重、体脂率、心率等 |
请求参数样例:
{
"token": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEsInVzZXJuYW1lIjoiRi50IiwiZXhwIjoxNzE0OTI0MTI0fQ.Bn9cwV1omIVHJHp5SN3qpRuxwvcjBj-rahZFEbcUBbM",
"healthData": {
"weight": 60,
"bodyFatRate": 20.1,
"heartRate": 82
}
}
- 参数格式:
application/json
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | String | 非必须 | 提示信息 |
data | object | 必须 | 返回的数据,包含智能建议 |
suggestions | array | 必须 | 智能建议列表,包含多个建议项 |
响应数据样例:
{
"code": 1,
"msg": "success",
"data": {
"suggestions": [
"建议增加有氧运动,如慢跑、游泳等。",
"建议调整饮食,减少高热量食物摄入。",
"建议保持充足睡眠,每晚至少7-8小时。"
]
}
}
字段名称 | 必填/选填 | 类型 | 长度限制 | 输入限制 | 是否唯一 |
---|---|---|---|---|---|
用户名 | 必填 | 输入框 | 2-20 | 数字,字母 | 是 |
运动类别 | 必填 | 下拉框 | - | 选择 运动类型 0 跑步 1 骑行 2 游泳 3 举铁 | 是 |
运动时间 | 选填 | 输入框 | - | 数字 | 否 |
运动距离 | 选填 | 输入框 | - | 数字 | 否 |
- 请求路径:
/sports/{username}/{getAll}
- 请求方式:GET
- 接口描述:该接口用于获取用户当天的运动信息
- 参数格式:application(非 json 格式)
- 参数说明:
getAll=True
代表的是需要全部记录getAll=False
代表的是需要预览的三条数据
示例:
localhost:8080/sports?username=F.t&getAll=True
localhost:8080/sports?username=F.t&getAll=False
- 用户密码加密处理
参数名 | 类型 | 描述 |
---|---|---|
Authorization | string | 用户认证凭证,需要将 token 放在这里 |
无
- 参数格式:application/json
参数说明:
参数名 | 类型 | 是否必须 | 备注 |
---|---|---|---|
code | number | 必须 | 响应码,1 代表成功,0 代表失败 |
msg | String | 非必须 | 提示信息 |
data | object | 必须 | 返回的数据 |
username | string | 必须 | 用户名 |
date | Date | 必须 | 运动记录时间(运动被记录到数据库的时间) |
sportsName | int | 必须 | 运动类型 |
sportsTime | double | 非必须 | 运动时间 |
sportsDistance | double | 非必须 | 运动距离 |
calories | double | 必须 | 运动消耗卡路里 |
响应数据样例:
{
"code": 1,
"msg": "success",
"data": [
{
"username": "F.t",
"date": "2024-05-02",
"sportsName": "0",
"sportsTime": "180s",
"sportsDistance": "700",
"calories": "100"
},
{
"username": "F.r",
"date": "2024-05-02",
"sportsName": "0",
"sportsTime": "1800s",
"sportsDistance": "700",
"calories": "100"
}
]
}
以下是一个增添用户运动数据的请求体样例:
{
"username": "F.t",
"sportsName": 0, // 假设0代表跑步
"sportsTime": 1800, // 运动时间,单位秒
"sportsDistance": 7000, // 运动距离,单位米
"calories": 500 // 运动消耗卡路里
}
成功添加数据后,服务器将返回一个响应,通常包含以下信息:
{
"code": 1,
"msg": "运动数据添加成功",
"data": null // 根据需要,这里可能返回添加的数据ID或其他相关信息
}
如果添加失败,响应将包含一个错误码和错误信息:
{
"code": 0,
"msg": "添加运动数据失败,原因:xxx",
"data": null
}