handler

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2020 License: MIT Imports: 4 Imported by: 0

README

handler

接口实现层,可以理解成 MVC 的控制器层。主要接收参数、验证参数、调用service层的业务逻辑处理,最后返回数据。

PS: 如果需要进行转换数据,可以调用对应的idl进行统一数据转换。

API风格和媒体类型说明

Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON、XML 和 Protobuf。
在 Go API 开发中常用的组合是 gRPC + Protobuf (更适合调用频繁的微服务场景) 和 REST + JSON

本项目使用 API 风格采用 REST,媒体类型选择 JSON 。

REST

REST 风格虽然适用于很多传输协议,但在实际开发中,REST 由于天生和 HTTP 协议相辅相成,因此 HTTP 协议已经成了实现 RESTful API 事实上的标准。
在 HTTP 协议中通过 POST、DELETE、PUT、GET 方法来对应 REST 资源的增、删、改、查操作,具体的对应关系如下:

HTTP方法 行为 URI 示例说明
GET 获取资源列表 /users 获取用户列表
GET 获取一个具体的资源 /users/admin 获取 admin 用户的详细信息
POST 创建一个新的资源 /users 创建一个新用户
PUT 更新一个资源 /users/1 更新 id 为 1 的用户
DELETE 删除服务器上的一个资源 /users/1 删除 id 为 1 的用户

单元测试

接口的测试可以参考这几篇文章

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetUserID added in v1.0.3

func GetUserID(c *gin.Context) uint64

GetUserID 返回用户id

func HealthCheck added in v1.0.3

func HealthCheck(c *gin.Context)

HealthCheck will return OK if the underlying BoltDB is healthy. At least healthy enough for demoing purposes.

func RouteNotFound added in v1.0.3

func RouteNotFound(c *gin.Context)

RouteNotFound 未找到相关路由

func SendResponse

func SendResponse(c *gin.Context, err error, data interface{})

SendResponse 返回json

Types

type Response

type Response struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

Response api的返回结构体

Directories

Path Synopsis
v1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL