API 文档
文档由 swagger 自动生成。
查看方法 1
启动 gateway 后, 访问:http://127.0.0.1:8888/swagger/index.html 可查看接口文档。
查看方法 2
将以下内容复制到 swagger 在线 editor 。
yaml
basePath: /api/
definitions:
friend.AddFriendRequest:
properties:
friend_id:
type: integer
user_id:
type: integer
type: object
friend.AddFriendToGroupRequest:
properties:
friend_id:
type: integer
group_id:
type: integer
user_id:
type: integer
type: object
friend.CreateFriendGroupRequest:
properties:
group_name:
type: string
user_id:
type: integer
type: object
friend.DeleteFriendRequest:
properties:
friend_id:
type: integer
user_id:
type: integer
type: object
groupMessage.AddGroupMemberRequest:
properties:
group_id:
description: 群组ID
type: integer
member_id:
description: 被添加的用户ID
type: integer
user_id:
description: 发起请求的用户ID
type: integer
type: object
groupMessage.CreateGroupRequest:
properties:
group_name:
description: 群组名称
type: string
user_id:
description: 创建群组的用户ID
type: integer
type: object
groupMessage.GetGroupMessagesRequest:
properties:
group_id:
description: 群组ID
type: integer
limit:
description: 每次请求返回的最大消息数
type: integer
offset:
description: 从第几条记录开始读取
type: integer
user_id:
description: 发起请求的用户ID
type: integer
type: object
groupMessage.GroupMessage:
properties:
content:
type: string
group_id:
type: integer
msg_id:
type: integer
sender_id:
type: integer
timestamp:
type: integer
type: object
groupMessage.SendGroupMessageRequest:
properties:
content:
type: string
group_id:
type: integer
sender_id:
type: integer
type: object
handler._BaseResponse:
properties:
data:
description: 数据
status:
description: 状态
example: success
type: string
type: object
handler._ResponseError:
properties:
error:
description: 错误信息
example: err msg
type: string
status:
description: 状态
example: failed
type: string
type: object
handler.friendGroup:
properties:
friends:
items:
$ref: '#/definitions/handler.friends'
type: array
group_id:
type: integer
group_name:
type: string
type: object
handler.friends:
properties:
friend_id:
example: 1
type: integer
friend_username:
example: user1
type: string
type: object
message.GetMessagesRequest:
properties:
limit:
description: 每次请求返回的最大消息数
type: integer
offset:
description: 从第几条记录开始读取
type: integer
peer_id:
description: 聊天对象的用户ID
type: integer
user_id:
description: 发起请求的用户ID
type: integer
type: object
message.GetMessagesResponse:
properties:
messages:
description: 返回的消息列表
items:
$ref: '#/definitions/message.Message'
type: array
type: object
message.Message:
properties:
content:
type: string
msg_id:
type: integer
receiver_id:
type: integer
sender_id:
type: integer
timestamp:
type: integer
type: object
message.SendMessageRequest:
properties:
content:
type: string
receiver_id:
type: integer
sender_id:
type: integer
type: object
user.GetUserProfileResponse:
properties:
avatar:
type: string
email:
type: string
nickname:
type: string
status:
type: integer
type: object
user.LoginRequest:
properties:
password:
type: string
username:
type: string
type: object
user.LoginResponse:
properties:
token:
type: string
user_id:
type: integer
username:
type: string
type: object
user.LogoutResponse:
properties:
success:
type: boolean
type: object
user.RegisterRequest:
properties:
password:
type: string
username:
type: string
type: object
user.RegisterResponse:
properties:
user_id:
type: integer
type: object
user.UpdateUserProfileRequest:
properties:
avatar:
type: string
email:
type: string
nickname:
type: string
status:
type: integer
user_id:
type: integer
type: object
host: localhost:8888
info:
contact:
email: support@example.com
name: API Support
url: http://www.example.com/support
description: This is a chatting API
title: Jackey Chatting API
version: "1"
paths:
/friend/add:
post:
consumes:
- application/json
description: Add a friend by their user ID
parameters:
- description: Friend ID
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.AddFriendRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Add a friend
tags:
- Friend
/friend/delete:
post:
consumes:
- application/json
description: Delete a friend by their user ID
parameters:
- description: Friend ID
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.DeleteFriendRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Delete a friend
tags:
- Friend
/friend/friends:
get:
consumes:
- application/json
description: Get a user's friends
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/handler.friends'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get a user's friends
tags:
- Friend
/friend/manage/addToGroup:
post:
consumes:
- application/json
description: Add a friend to a group
parameters:
- description: AddToGroupRequest request
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.AddFriendToGroupRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Add a friend to a group
tags:
- Friend/manage
/friend/manage/createGroup:
post:
consumes:
- application/json
description: Create a friend group
parameters:
- description: CreateFriendGroupRequest request
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.CreateFriendGroupRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Create a friend group
tags:
- Friend/manage
/friend/manage/deleteFromGroup:
post:
consumes:
- application/json
description: Delete a friend from a group
parameters:
- description: DeleteFromGroupRequest request
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.AddFriendToGroupRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Delete a friend from a group
tags:
- Friend/manage
/friend/manage/friendGroup:
get:
consumes:
- application/json
description: Get a user's friend groups
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
items:
$ref: '#/definitions/handler.friendGroup'
type: array
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get a user's friend groups
tags:
- Friend/manage
/friend/pending:
get:
consumes:
- application/json
description: Get a user's pending friends
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/handler.friends'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get a user's pending friends
tags:
- Friend
post:
consumes:
- application/json
description: Send Pending friend requests
parameters:
- description: Friend ID
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/friend.AddFriendRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Send Pending friend requests
tags:
- Friend
/groupMessage:
get:
consumes:
- application/json
description: Get messages from a group
parameters:
- description: Group ID, limit, and offset
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/groupMessage.GetGroupMessagesRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
items:
$ref: '#/definitions/groupMessage.GroupMessage'
type: array
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get group messages
tags:
- GroupMessage
/groupMessage/addGroupMember:
post:
consumes:
- application/json
description: Add a member to a group
parameters:
- description: Group ID and member ID
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/groupMessage.AddGroupMemberRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Add a member to a group
tags:
- GroupMessage
/groupMessage/create:
post:
consumes:
- application/json
description: Create a group with a list of members
parameters:
- description: Group name and member IDs
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/groupMessage.CreateGroupRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Create a message group
tags:
- GroupMessage
/groupMessage/send:
post:
consumes:
- application/json
description: Send a message to a group
parameters:
- description: Group ID and content
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/groupMessage.SendGroupMessageRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Send a group message
tags:
- GroupMessage
/message:
get:
consumes:
- application/json
description: Get messages between a user and a friend
parameters:
- description: Peer ID, offset and limit
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/message.GetMessagesRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/message.GetMessagesResponse'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get messages
tags:
- Message
/message/send:
post:
consumes:
- application/json
description: Send a message to a friend
parameters:
- description: Receiver ID and content
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/message.SendMessageRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Send a message
tags:
- Message
/user/login:
post:
consumes:
- application/json
description: Login a user with a username and password
parameters:
- description: login request
in: body
name: login
required: true
schema:
$ref: '#/definitions/user.LoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/user.LoginResponse'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
summary: Login a user
tags:
- User
/user/logout:
post:
consumes:
- application/json
description: Logout a user by invalidating their token
parameters:
- description: Token
in: body
name: token
required: true
schema:
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/user.LogoutResponse'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
summary: Logout a user
tags:
- User
/user/profile:
get:
description: Get a user's profile
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/user.GetUserProfileResponse'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Get a user's profile
tags:
- User/profile
/user/profile/avatar:
get:
description: Download a user's avatar
produces:
- image/jpeg
responses:
"200":
description: avatar
schema:
type: string
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Download a user's avatar
tags:
- User/profile
/user/profile/avatar/upload:
put:
consumes:
- multipart/form-data
description: Upload a user's avatar
parameters:
- description: avatar
in: formData
name: avatar
required: true
type: file
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Upload a user's avatar
tags:
- User/profile
/user/profile/update:
put:
consumes:
- application/json
description: Update a user's profile
parameters:
- description: updateProfile request
in: body
name: avatar
required: true
schema:
$ref: '#/definitions/user.UpdateUserProfileRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handler._BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
security:
- BearerAuth: []
summary: Update a user's profile
tags:
- User/profile
/user/register:
post:
consumes:
- application/json
description: Register a new user with a username and password
parameters:
- description: register request
in: body
name: json_object
required: true
schema:
$ref: '#/definitions/user.RegisterRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
allOf:
- $ref: '#/definitions/handler._BaseResponse'
- properties:
data:
$ref: '#/definitions/user.RegisterResponse'
type: object
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/handler._ResponseError'
summary: Register a new user
tags:
- User
securityDefinitions:
BearerAuth:
in: header
name: Authorization
type: apiKey
swagger: "2.0"