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 ¶
func RegisterRoutes ¶
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 ¶
ConvertAnswerToDTO 将answer转化为DTO
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 "操作成功" @Security ApiKeyAuth @Router /answer/create [post]
func (*QaApi) AnswerDelete ¶
AnswerDelete 代表删除回答 @Summary 删除回答 @Description 删除回答 @Accept json @Produce json @Tags qa @Param answerDeleteParam body answerDeleteParam true "删除id" @Success 200 string Msg "操作成功" @Security ApiKeyAuth @Router /answer/delete [post]
func (*QaApi) QuestionCreate ¶
QuestionCreate 代表创建问题 @Summary 创建问题 @Description 创建问题 @Accept json @Produce json @Tags qa @Param questionCreateParam body questionCreateParam true "创建问题参数" @Success 200 string Msg "操作成功" @Security ApiKeyAuth @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 "操作成功" @Security ApiKeyAuth @Router /question/delete [post]
func (*QaApi) QuestionDetail ¶
QuestionDetail 获取问题详情 @Summary 获取问题详情 @Description 获取问题详情,包括问题的所有回答 @Accept json @Produce json @Tags qa @Param param body questionDetailParam true "问题id" @Success 200 QuestionDTO question "问题详情,带回答和作者" @Security ApiKeyAuth @Router /question/detail [post]
func (*QaApi) QuestionEdit ¶
QuestionEdit 编辑问题 @Summary 编辑问题 @Description 编辑问题 @Accept json @Produce json @Tags qa @Param questionEditParam body questionEditParam true "编辑问题参数" @Success 200 string Msg "操作成功" @Security ApiKeyAuth @Router /question/edit [post]
func (*QaApi) QuestionList ¶
QuestionList 获取问题列表 @Summary 获取问题列表 @Description 获取问题列表,包含作者信息,不包含回答 @Accept json @Produce json @Tags qa @Param questionListParam body questionListParam true "获取问题列表参数" @Success 200 {array} QuestionDTO questions "问题列表" @Security ApiKeyAuth @Router /question/list [post]
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