// 课程请求结构体 type CreateCourseReq { Title string `json:"title" validate:"required"` // 课程标题 Subtitle string `json:"subtitle"` // 课程副标题 CoverUrl string `json:"cover_url"` // 课程封面图URL Intro string `json:"intro"` // 课程简介 Status int8 `json:"status" default:"1"` // 课程状态(0删除,1-已发布) } type UpdateCourseReq { Id int64 `json:"id" validate:"required"` // 课程ID Title string `json:"title"` // 课程标题 Subtitle string `json:"subtitle"` // 课程副标题 CoverUrl string `json:"cover_url"` // 课程封面图URL Intro string `json:"intro"` // 课程简介 Status int8 `json:"status"` // 课程状态(0删除,1-已发布) } type GetCourseReq { Id int64 `json:"id" validate:"required"` // 课程ID } type DeleteCourseReq { Id int64 `json:"id" validate:"required"` // 课程ID } type ListCourseReq { Page int `json:"page" default:"1"` // 页码 Size int `json:"size" default:"10"` // 每页数量 Status int8 `json:"status"` // 课程状态筛选 Keyword string `json:"keyword"` // 搜索关键词(标题/副标题) } // 课程响应结构体 type CourseResp { Id int64 `json:"id"` // 课程ID Title string `json:"title"` // 课程标题 Subtitle string `json:"subtitle"` // 课程副标题 CoverUrl string `json:"cover_url"` // 课程封面图URL Intro string `json:"intro"` // 课程简介 Status int8 `json:"status"` // 课程状态 CreateTime string `json:"create_time"` // 创建时间 UpdateTime string `json:"update_time"` // 更新时间 } type ListCourseResp { Total int64 `json:"total"` // 总条数 List []CourseResp `json:"list"` // 课程列表 } type BaseResp { Code int `json:"code"` // 状态码(0成功,非0失败) Msg string `json:"msg"` // 提示信息 } @server ( group: course ) service course-api { @handler CreateCourseHandler post /api/courses (CreateCourseReq) returns (BaseResp) @handler UpdateCourseHandler put /api/courses (UpdateCourseReq) returns (BaseResp) @handler GetCourseHandler get /api/courses/:id (GetCourseReq) returns (CourseResp) @handler DeleteCourseHandler delete /api/courses/:id (DeleteCourseReq) returns (BaseResp) @handler ListCourseHandler get /api/courses (ListCourseReq) returns (ListCourseResp) }