Skip to content

更新用户信息

接口信息

接口地址:/api/v1/system/user/{id}/update

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

通过用户ID更新用户信息

请求示例:

javascript
{
  "userName": "更新后的用户名",
  "nickName": "更新后的昵称",
  "avatar": "https://example.com/avatar.png",
  "role": "User",
  "email": "updated@example.com",
  "phone": "13800000099"
}

请求参数

请求头

参数名类型必填描述示例值
AuthorizationstringAPI KeyBearer ak-xxxxeyJhbGciOiJIUzI1NiJ9

路径参数:

参数名称参数说明是否必须数据类型
id用户IDinteger(int64)

请求体参数:

参数名称参数说明是否必须数据类型
userName用户名string
nickName用户昵称string
avatar用户头像地址string
role角色,可用值: Admin, Userstring
email管理员邮箱string
phone手机号码string
password密码string

响应参数:

参数名称参数说明类型schema
code业务状态码,0000 表示成功,其余失败string
displayCode源系统状态码,用于问题跟踪string
message错误描述信息string
data返回的具体业务数据object
tid跟踪唯一标识string
successboolean

响应示例:

javascript
{
	"code": "0000",
	"displayCode": "0000",
	"message": "成功",
	"data": null,
	"tid": "1647851776076494587",
	"success": true
}

CURL示例

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/1776073061/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{
  "userName": "更新后的用户名",
  "nickName": "更新后的昵称",
  "avatar": "https://example.com/avatar.png",
  "role": "User",
  "email": "updated@example.com",
  "phone": "13800000099"
}'

{"code":"0000","displayCode":"0000","message":"成功","data":null,"tid":"1647851776076494587","success":true}

测试用例

#场景请求体状态码结果
1更新用户基本信息userName + nickName + avatar + email + phone + role0000成功
2更新密码password0000成功
3更新不存在的用户userName0000成功
4空 body 更新{}4000失败,提示字段不能同时为空
5更新角色为 Adminrole: Admin0000成功

成功用例

更新用户基本信息

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/1776073061/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{
  "userName": "更新后的用户名",
  "nickName": "更新后的昵称",
  "avatar": "https://example.com/avatar.png",
  "role": "User",
  "email": "updated@example.com",
  "phone": "13800000099"
}'

{"code":"0000","displayCode":"0000","message":"成功","data":null,"tid":"1647851776076494587","success":true}

更新角色

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/1776073061/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{"role": "Admin"}'

{"code":"0000","displayCode":"0000","message":"成功","data":null,"tid":"5342371776076658883","success":true}

失败用例

空 body 更新

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/1776073061/update' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{}'

{"code":"4000","displayCode":"4000","message":"nickName, userName, email, phone, avatar, role, password  cannot be null at the same time","data":null,"tid":"8803401776078516945","success":false}

TS模板示例

ts
// 参数接口
export interface UserUpdateDto {
  /* 用户名 */
  userName?: string;
  /* 用户昵称 */
  nickName?: string;
  /* 用户头像地址 */
  avatar?: string;
  /* 角色,可用值: Admin, User */
  role?: 'Admin' | 'User';
  /* 管理员邮箱 */
  email?: string;
  /* 手机号码 */
  phone?: string;
  /* 密码 */
  password?: string;
}

// 响应接口
export interface UpdateUserRes {
  code: string;
  displayCode: string;
  message: string;
  data: object | null;
  tid: string;
  success: boolean;
}

/** 
 * 更新用户信息
 * @param {number} id - 用户ID
 * @param {UserUpdateDto} params 
 * @returns
 */
export function updateUser(id: number, params: UserUpdateDto): Promise<UpdateUserRes> {
  return request.post(`/api/v1/system/user/${id}/update`, params);
}