Skip to content

validate and error handle

steiner edited this page Jan 29, 2024 · 1 revision

请求参数验证与错误处理

验证

注意 如果字段可为空,那就构造字段为空的JSON传递即可

User API 验证

PostUserRequest

  1. username
    • length >= 5
    • length <= 24
  2. passwordLength
    • length >= 5
  3. email
    • length <= 48
    • length >= 5
    • email 格式

LoginRequest

  1. username
    • length <= 24
    • length >= 5

PostRoleRequest

  1. name
    • length <= 16
    • length >= 1

UpdateUserRequest

  1. username
    • length >= 5
    • length <= 24
  2. email
    • length <= 48
    • length >= 5
  3. passwordLength
    • value >= 5
    • value <= 16
  4. email
    • email 格式

Todolist API 验证

PostSubTaskRequest

  1. parentid
    • value >= 1
  2. name
    • length >= 5
    • length <= 32

PostTagRequest

  1. name
    • length >= 1
    • length <= 32
  2. color
    • 16进制颜色格式
  3. parentid
    • value >= 1

PostTaskGroupRequest

  1. parentid
    • value >= 1
  2. after
    • value >= 0
  3. name
    • length >= 1
    • length <= 32

PostTaskProjectRequest

  1. userid
    • value >= 1
  2. name
    • length >= 1
    • length <= 32
  3. avatarid
    • value >= 1

PostTaskRequest

  1. name
    • length >= 1
    • length <= 64

UpdateSubTaskRequest

  1. name
    • length >= 1
    • length <= 32

UpdateTagRequest

  1. id
    • value >= 1
  2. name
    • length >= 1
    • length <= 32

UpdateTaskGroupRequest

  1. id
    • value >= 1
  2. name
    • length >= 1
    • length <= 32

UpdateTaskProjectRequest

  1. id
    • value >= 1
  2. avatarid
    • value >= 1
  3. name
    • length >= 1
    • length <= 32

UpdateTaskRequest

  1. id
    • value >= 1
  2. name
    • length >= 1
    • length <= 64

PostPriorityRequest

  1. name
    • length >= 1
    • length <= 16
  2. order
    • value >= 0
  3. parentid
    • value >= 1

UpdatePriorityRequest

  1. id
    • value >= 1
  2. order
    • value >= 0
  3. name
    • value >= 1
    • value <= 16

错误处理

查询参数或路径参数不匹配

参照 api ,如果查询参数或路径参数不匹配,会返回 404 状态码

使用GET查询时

如果查询过程中发现没有对应的数据,返回 404 状态码 如

  1. 更新用户时,如果没有匹配的用户,返回 404 状态码
  2. 更新任务时,如果没有匹配的任务,返回 404 状态码

POST/PUT 请求时有重复的元素

如果添加数据过程中或者更新过程中发现有重复的元素,返回 400 状态码

  1. 注册用户时有重复的用户名,返回 400 状态码
  2. 更新用户时有重复的用户名,返回 400 状态码

前端请求携带 JSON body 反序列化失败时

ktor 会自动返回 400 状态码