This is an automated email from the ASF dual-hosted git repository.

linkinstar pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/answer.git

commit dc98f61d69e28023d1113fee276227f3f2390896
Author: LinkinStars <linkins...@foxmail.com>
AuthorDate: Tue Jun 24 11:05:11 2025 +0800

    refactor(api): update API documentation and method names for clarity
---
 internal/controller/answer_controller.go | 70 ++++++++++++++++----------------
 internal/router/answer_api_router.go     |  4 +-
 internal/schema/answer_schema.go         |  5 +++
 3 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/internal/controller/answer_controller.go 
b/internal/controller/answer_controller.go
index 157e1b25..a22c597f 100644
--- a/internal/controller/answer_controller.go
+++ b/internal/controller/answer_controller.go
@@ -69,7 +69,7 @@ func NewAnswerController(
 // RemoveAnswer delete answer
 // @Summary delete answer
 // @Description delete answer
-// @Tags api-answer
+// @Tags Answer
 // @Accept json
 // @Produce json
 // @Security ApiKeyAuth
@@ -119,7 +119,7 @@ func (ac *AnswerController) RemoveAnswer(ctx *gin.Context) {
 
 // RecoverAnswer recover answer
 // @Summary recover answer
-// @Description recover deleted answer
+// @Description recover the deleted answer
 // @Tags Answer
 // @Accept json
 // @Produce json
@@ -151,16 +151,16 @@ func (ac *AnswerController) RecoverAnswer(ctx 
*gin.Context) {
        handler.HandleResponse(ctx, err, nil)
 }
 
-// Get godoc
-// @Summary Get Answer
-// @Description Get Answer
-// @Tags api-answer
-// @Accept  json
-// @Produce  json
-// @Param id query string true "Answer TagID"  default(1)
-// @Router  /answer/api/v1/answer/info [get]
-// @Success 200 {string} string ""
-func (ac *AnswerController) Get(ctx *gin.Context) {
+// GetAnswerInfo get answer info
+// @Summary Get Answer Detail
+// @Description Get Answer Detail
+// @Tags Answer
+// @Accept json
+// @Produce json
+// @Param id query string true "id"
+// @Success 200 {object} handler.RespBody{data=schema.GetAnswerInfoResp}
+// @Router /answer/api/v1/answer/info [get]
+func (ac *AnswerController) GetAnswerInfo(ctx *gin.Context) {
        id := ctx.Query("id")
        id = uid.DeShortID(id)
        userID := middleware.GetLoginUserIDFromContext(ctx)
@@ -174,23 +174,23 @@ func (ac *AnswerController) Get(ctx *gin.Context) {
                handler.HandleResponse(ctx, fmt.Errorf(""), gin.H{})
                return
        }
-       handler.HandleResponse(ctx, err, gin.H{
-               "info":     info,
-               "question": questionInfo,
+       handler.HandleResponse(ctx, err, &schema.GetAnswerInfoResp{
+               Info:     info,
+               Question: questionInfo,
        })
 }
 
-// Add godoc
-// @Summary Insert Answer
-// @Description Insert Answer
-// @Tags api-answer
-// @Accept  json
-// @Produce  json
+// AddAnswer add answer
+// @Summary Add Answer
+// @Description add answer
+// @Tags Answer
+// @Accept json
+// @Produce json
 // @Security ApiKeyAuth
-// @Param data body schema.AnswerAddReq  true "AnswerAddReq"
-// @Success 200 {string} string ""
+// @Param data body schema.AnswerAddReq true "add answer request"
+// @Success 200 {object} handler.RespBody{}
 // @Router /answer/api/v1/answer [post]
-func (ac *AnswerController) Add(ctx *gin.Context) {
+func (ac *AnswerController) AddAnswer(ctx *gin.Context) {
        req := &schema.AnswerAddReq{}
        if handler.BindAndCheck(ctx, req) {
                return
@@ -295,11 +295,11 @@ func (ac *AnswerController) Add(ctx *gin.Context) {
 // Update godoc
 // @Summary Update Answer
 // @Description Update Answer
-// @Tags api-answer
-// @Accept  json
-// @Produce  json
+// @Tags Answer
+// @Accept json
+// @Produce json
 // @Security ApiKeyAuth
-// @Param data body schema.AnswerUpdateReq  true "AnswerUpdateReq"
+// @Param data body schema.AnswerUpdateReq true "AnswerUpdateReq"
 // @Success 200 {string} string ""
 // @Router /answer/api/v1/answer [put]
 func (ac *AnswerController) Update(ctx *gin.Context) {
@@ -360,9 +360,9 @@ func (ac *AnswerController) Update(ctx *gin.Context) {
 // AnswerList godoc
 // @Summary AnswerList
 // @Description AnswerList <br> <b>order</b> (default or updated)
-// @Tags api-answer
-// @Accept  json
-// @Produce  json
+// @Tags Answer
+// @Accept json
+// @Produce json
 // @Param question_id query string true "question_id"
 // @Param order query string true "order"
 // @Param page query string true "page"
@@ -405,11 +405,11 @@ func (ac *AnswerController) AnswerList(ctx *gin.Context) {
 // Accepted godoc
 // @Summary Accepted
 // @Description Accepted
-// @Tags api-answer
-// @Accept  json
-// @Produce  json
+// @Tags Answer
+// @Accept json
+// @Produce json
 // @Security ApiKeyAuth
-// @Param data body schema.AcceptAnswerReq  true "AcceptAnswerReq"
+// @Param data body schema.AcceptAnswerReq true "AcceptAnswerReq"
 // @Success 200 {string} string ""
 // @Router /answer/api/v1/answer/acceptance [post]
 func (ac *AnswerController) Accepted(ctx *gin.Context) {
diff --git a/internal/router/answer_api_router.go 
b/internal/router/answer_api_router.go
index e01bd9a9..cba23707 100644
--- a/internal/router/answer_api_router.go
+++ b/internal/router/answer_api_router.go
@@ -157,7 +157,7 @@ func (a *AnswerAPIRouter) RegisterUnAuthAnswerAPIRouter(r 
*gin.RouterGroup) {
        r.GET("/user/staff", a.userController.UserStaff)
 
        // answer
-       r.GET("/answer/info", a.answerController.Get)
+       r.GET("/answer/info", a.answerController.GetAnswerInfo)
        r.GET("/answer/page", a.answerController.AnswerList)
        r.GET("/personal/answer/page", a.questionController.PersonalAnswerPage)
 
@@ -265,7 +265,7 @@ func (a *AnswerAPIRouter) RegisterAnswerAPIRouter(r 
*gin.RouterGroup) {
        r.POST("/question/recover", a.questionController.QuestionRecover)
 
        // answer
-       r.POST("/answer", a.answerController.Add)
+       r.POST("/answer", a.answerController.AddAnswer)
        r.PUT("/answer", a.answerController.Update)
        r.POST("/answer/acceptance", a.answerController.Accepted)
        r.DELETE("/answer", a.answerController.RemoveAnswer)
diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go
index 3a404ed1..015e26ac 100644
--- a/internal/schema/answer_schema.go
+++ b/internal/schema/answer_schema.go
@@ -71,6 +71,11 @@ func (req *AnswerAddReq) Check() (errFields 
[]*validator.FormErrorField, err err
        return nil, nil
 }
 
+type GetAnswerInfoResp struct {
+       Info     *AnswerInfo       `json:"info"`
+       Question *QuestionInfoResp `json:"question"`
+}
+
 type AnswerUpdateReq struct {
        ID           string `json:"id"`
        QuestionID   string `json:"question_id"`

Reply via email to