Documentation
¶
Index ¶
- func RegisterRoutes(r *gin.Engine) error
- type AnswerDTO
- type QAApi
- func (api *QAApi) AnswerCreate(c *gin.Context)
- func (api *QAApi) AnswerDelete(c *gin.Context)
- func (api *QAApi) QuestionCreate(c *gin.Context)
- func (api *QAApi) QuestionDelete(c *gin.Context)
- func (api *QAApi) QuestionDetail(c *gin.Context)
- func (api *QAApi) QuestionEdit(c *gin.Context)
- func (api *QAApi) QuestionList(c *gin.Context)
- type QuestionDTO
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AnswerDTO ¶
type AnswerDTO struct {
ID int64 `json:"id,omitempty"`
Content string `json:"content,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Author *user.UserDTO `json:"author,omitempty"` // 作者
}
AnswerDTO 回答返回结构
func ConvertAnswerToDTO ¶
func ConvertAnswersToDTO ¶
ConvertAnswersToDTO 将answers转化为带有tree结构的AnswerDTO
type QAApi ¶
type QAApi struct{}
func (*QAApi) AnswerCreate ¶
AnswerCreate 代表创建回答 @Summary 创建回答 @Description 创建回答 @Accept json @Produce json @Tags qa @Param answerCreateParam body answerCreateParam true "创建回答参数" @Success 200 string Msg "操作成功" @Router /answer/create [post]
func (*QAApi) AnswerDelete ¶
AnswerDelete 代表删除回答 @Summary 创建回答 @Description 创建回答 @Accept json @Produce json @Tags qa @Param id query int true "删除id" @Success 200 string Msg "操作成功" @Router /answer/delete [get]
func (*QAApi) QuestionCreate ¶
QuestionCreate 代表创建问题 @Summary 创建问题 @Description 创建问题 @Accept json @Produce json @Tags qa @Param questionCreateParam body questionCreateParam true "创建问题参数" @Success 200 string Msg "操作成功" @Router /question/create [post]
func (*QAApi) QuestionDelete ¶
QuestionDelete 删除问题 @Summary 删除问题 @Description 删除问题,同时删除问题中的所有答案 @Accept json @Produce json @Tags qa @Param id query int true "删除id" @Success 200 string Msg "操作成功" @Router /question/delete [get]
func (*QAApi) QuestionDetail ¶
QuestionDetail 获取问题详情 @Summary 获取问题详细 @Description 获取问题详情,包括问题的所有回答 @Accept json @Produce json @Tags qa @Param id query int true "问题id" @Success 200 QuestionDTO question "问题详情,带回答和作者" @Router /question/detail [get]
func (*QAApi) QuestionEdit ¶
QuestionEdit 编辑问题 @Summary 编辑问题 @Description 编辑问题 @Accept json @Produce json @Tags qa @Param questionEditParam body questionEditParam true "编辑问题参数" @Success 200 string Msg "操作成功" @Router /question/edit [post]
func (*QAApi) QuestionList ¶
QuestionList 获取问题列表 @Summary 获取问题列表 @Description 获取问题列表,包含作者信息,不包含回答 @Accept json @Produce json @Tags qa @Param page query int false "列表页页数" @Param size query int false "列表页单页个数" @Success 200 {array} QuestionDTO questions "问题列表" @Router /question/list [get]
type QuestionDTO ¶
type QuestionDTO struct {
ID int64 `json:"id,omitempty"`
Title string `json:"title,omitempty"`
Context string `json:"context,omitempty"` // 在列表页,只显示前200个字符
AnswerNum int `json:"answer_num"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Author *user.UserDTO `json:"author,omitempty"` // 作者
Answers []*AnswerDTO `json:"answers,omitempty"` // 回答
}
QuestionDTO 问题列表返回结构
func ConvertQuestionToDTO ¶
func ConvertQuestionToDTO(question *qa.Question, flags map[string]string) *QuestionDTO
ConvertQuestionToDTO 将question转换为DTO
func ConvertQuestionsToDTO ¶
func ConvertQuestionsToDTO(questions []*qa.Question) []*QuestionDTO
ConvertQuestionsToDTO 将questions转换为DTO