Documentation
¶
Index ¶
- Constants
- func ApplyPagination(db *gorm.DB, params PaginationParams) *gorm.DB
- func BadRequest(c *gin.Context, message string)
- func Error(c *gin.Context, code int, message string)
- func ErrorWithHttpStatus(c *gin.Context, httpStatus int, code int, message string)
- func Forbidden(c *gin.Context, message string)
- func InternalServerError(c *gin.Context, message string)
- func NotFound(c *gin.Context, message string)
- func PaginateQuery(query *gorm.DB, params PaginationParams, dest any) (int64, error)
- func Success(c *gin.Context, data any)
- func SuccessRaw(c *gin.Context, data any)
- func SuccessWithMessage(c *gin.Context, message string, data any)
- func Unauthorized(c *gin.Context, message string)
- type PaginationParams
- type PaginationResponse
- type Response
Constants ¶
View Source
const DefaultPageSize = 20
DefaultPageSize 默认每页大小
View Source
const MaxPageSize = 100
MaxPageSize 最大每页大小
Variables ¶
This section is empty.
Functions ¶
func ApplyPagination ¶ added in v0.6.0
func ApplyPagination(db *gorm.DB, params PaginationParams) *gorm.DB
ApplyPagination 应用分页到 GORM 查询 用法:query = common.ApplyPagination(query, params)
func ErrorWithHttpStatus ¶
ErrorWithHttpStatus 带HTTP状态码的错误响应
func InternalServerError ¶
InternalServerError 内部服务器错误
func PaginateQuery ¶ added in v0.6.0
PaginateQuery 通用分页查询辅助函数
用法示例:
var results []Model
total, err := common.PaginateQuery(
models.DB.Model(&Model{}),
params,
&results,
)
query: 已配置好 WHERE 条件的 GORM 查询 params: 分页参数 dest: 结果目标切片的指针 返回: 总记录数和错误
func SuccessWithMessage ¶
SuccessWithMessage 带消息的成功响应
Types ¶
type PaginationParams ¶ added in v0.6.0
type PaginationParams struct {
Page int `json:"page"` // 当前页码,从1开始
PageSize int `json:"page_size"` // 每页大小
}
PaginationParams 分页请求参数
func ParsePagination ¶ added in v0.6.0
func ParsePagination(c *gin.Context) (PaginationParams, error)
ParsePagination 从 Gin Context 解析分页参数 参数无效时返回错误信息,调用者应该使用 common.BadRequest 响应
func ParsePaginationWithDefaults ¶ added in v0.6.0
func ParsePaginationWithDefaults(c *gin.Context, defaultPage, defaultPageSize int) (PaginationParams, error)
ParsePaginationWithDefaults 从 Gin Context 解析分页参数(带自定义默认值)
type PaginationResponse ¶ added in v0.6.0
type PaginationResponse struct {
Data any `json:"data"` // 数据列表
Total int64 `json:"total"` // 总记录数
Page int `json:"page"` // 当前页码
PageSize int `json:"page_size"` // 每页大小
Pages int64 `json:"pages"` // 总页数
}
PaginationResponse 分页响应结构
func NewPaginationResponse ¶ added in v0.6.0
func NewPaginationResponse(data any, total int64, params PaginationParams) PaginationResponse
NewPaginationResponse 创建分页响应
Click to show internal directories.
Click to hide internal directories.