首页接口分别有以下几个

首页列表

  • 地址 GET /api/ 或者 /api/index
  • 请求类型 application/x-www-form-urlencoded
  • 参数
    • pageNo: 页码
    • tab: 分类,分别是 精华:good 无人评论:noanswer 热门:hot 最新:newest
  • 返回 Result(IPage)
  1. {
  2. "code":200,
  3. "description":"SUCCESS",
  4. "detail":{
  5. "records":[
  6. {
  7. "collectCount":0,
  8. "avatar":"http://localhost:8080/static/upload/avatar/tomoya/avatar.png",
  9. "title":"我是一个话题标题",
  10. "userId":1,
  11. "good":false,
  12. "content":"我是话题内容\n\n我还支持Markdown语法哦\n\n![](https://avatars3.githubusercontent.com/u/6915570?s=460&v=4)\n\n- 无序列表1\n- 无序列表2\n- 无序列表3\n\n1. 有序列表1\n2. 有序列表2\n3. 有序列表3\n\n| Column A | Column B | Column C |\n| -------- | -------- | -------- |\n| A1 | B1 | C1 |\n| A2 | B2 | C2 |\n| A3 | B3 | C3 |\n\n[开发俱乐部](https://17dev.club/)",
  13. "commentCount":0,
  14. "tags":[
  15. {
  16. "id":1,
  17. "name":"一个标签",
  18. "description":null,
  19. "icon":null,
  20. "topicCount":1,
  21. "inTime":1548992281000
  22. }
  23. ],
  24. "inTime":1548992281000,
  25. "view":2,
  26. "modifyTime":1548992296000,
  27. "top":false,
  28. "id":1,
  29. "username":"tomoya"
  30. }
  31. ],
  32. "total":1,
  33. "size":20,
  34. "current":1,
  35. "searchCount":true,
  36. "pages":1
  37. }
  38. }

登录

  • 地址 POST /api/login
  • 请求类型 application/json
  • 参数
    • username: 用户名
    • password: 密码
    • captcha: 图片验证码
  • 返回 Result(Map)
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": {
  5. "user": {
  6. "id": 1,
  7. "username": "tomoya",
  8. "telegramName": null,
  9. "avatar": "http://localhost:8080/static/upload/avatar/tomoya/avatar.png",
  10. "email": null,
  11. "website": null,
  12. "bio": null,
  13. "score": 10,
  14. "inTime": 1548992041000,
  15. "emailNotification": false
  16. },
  17. "token": "208bb4c1-daf1-4a32-b198-7f4db8f6d565"
  18. }
  19. }

注册

  • 地址 POST /api/register
  • 请求类型 application/json
  • 参数
    • username: 用户名
    • password: 密码
    • email: 邮箱地址
    • captcha: 图片验证码
  • 返回 Result(Map)
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": {
  5. "user": {
  6. "id": 2,
  7. "username": "test",
  8. "telegramName": null,
  9. "avatar": "http://localhost:8080/static/upload/avatar/test/avatar.png",
  10. "email": null,
  11. "website": null,
  12. "bio": null,
  13. "score": 0,
  14. "inTime": 1548992486000,
  15. "emailNotification": false
  16. },
  17. "token": "b7ee4a41-48d9-4185-9ab7-bcd202719ded"
  18. }
  19. }

发送手机验证码

  • 地址 GET /api/send_code
  • 请求类型 application/x-www-form-urlencoded
  • 参数
    • mobile: 手机号
    • captcha: 图片验证码
  • 返回 Result(Map)
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": null
  5. }

手机号+验证码登录/注册

  • 地址 POST /api/mobile_login
  • 请求类型 application/json
  • 参数
    • mobile: 手机号
    • code: 手机验证码
    • captcha: 图片验证码
  • 返回 Result(Map)
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": {
  5. "user": {
  6. "id": 2,
  7. "username": "test",
  8. "telegramName": null,
  9. "avatar": "http://localhost:8080/static/upload/avatar/test/avatar.png",
  10. "email": null,
  11. "mobile": "13111111111",
  12. "website": null,
  13. "bio": null,
  14. "score": 0,
  15. "inTime": 1548992486000,
  16. "emailNotification": false
  17. },
  18. "token": "b7ee4a41-48d9-4185-9ab7-bcd202719ded"
  19. }
  20. }

标签

  • 地址 POST /api/tags
  • 请求类型 application/x-www-form-urlencoded
  • 参数
    • pageNo
  • 返回 Result(List)
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": {
  5. "records": [
  6. {
  7. "id": 1,
  8. "name": "一个标签",
  9. "description": "标签描述,解释一下标签让人能更明白它的意思",
  10. "icon": "http://spring.io/img/homepage/icon-spring-boot.svg",
  11. "topicCount": 1,
  12. "inTime": 1548992281000
  13. }
  14. ],
  15. "total": 1,
  16. "size": 20,
  17. "current": 1,
  18. "searchCount": true,
  19. "pages": 1
  20. }
  21. }

上传头像

  • 地址 POST /api/upload
  • 请求类型 application/form-data
  • 参数
    • token
    • file: 上传图片的文件对象
    • type: 上传图片的类型,如果上传头像请填 avatar,如果是发帖上传图片请填 topic
  • 返回 Result(String) // 上传成功后,会返回图片的访问地址
  1. {
  2. "code": 200,
  3. "description": "SUCCESS",
  4. "detail": "http://localhost:8080/static/upload/avatar/tomoya/avatar.png"
  5. }