Browse Source

完成网关文档

yjp 10 months ago
parent
commit
74189bca07

+ 203 - 1
framework/gateway/builder.go

@@ -7,8 +7,10 @@ import (
 	"time"
 )
 
+// Handler 网关API处理函数
 type Handler func(requestBuilder *RequestBuilder)
 
+// Builder 网关API构建器
 type Builder struct {
 	router         api.Router
 	httpClient     *http_client.Client
@@ -32,118 +34,309 @@ func newBuilder(router api.Router, httpClient *http_client.Client, httpTimeoutSe
 	return builder
 }
 
+// PostRoute 创建POST网关API
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRoute(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRoute(http.MethodPost, relativePath, handler, middlewares...)
 }
 
+// DeleteRoute 创建DELETE网关API
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRoute(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRoute(http.MethodDelete, relativePath, handler, middlewares...)
 }
 
+// PutRoute 创建PUT网关API
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRoute(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRoute(http.MethodPut, relativePath, handler, middlewares...)
 }
 
+// GetRoute 创建GET网关API
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRoute(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRoute(http.MethodGet, relativePath, handler, middlewares...)
 }
 
+// PostRouteWithTenantIDAndUserID 创建POST网关API,请求Body是JsonBody,且会添加租户ID和用户ID字段,字段名分别为tenantId和userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithTenantIDAndUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, "tenantId", "userId", handler, middlewares...)
 }
 
+// DeleteRouteWithTenantIDAndUserID 创建DELETE网关API,会在查询参数添加租户ID和用户ID字段,字段名分别为tenantId和userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithTenantIDAndUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, "tenantId", "userId", handler, middlewares...)
 }
 
+// PutRouteWithTenantIDAndUserID 创建PUT网关API,请求Body是JsonBody,且会添加租户ID和用户ID字段,字段名分别为tenantId和userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithTenantIDAndUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, "tenantId", "userId", handler, middlewares...)
 }
 
+// GetRouteWithTenantIDAndUserID 创建GET网关API,会在查询参数添加租户ID和用户ID字段,字段名分别为tenantId和userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithTenantIDAndUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, "tenantId", "userId", handler, middlewares...)
 }
 
+// PostRouteWithTenantID 创建POST网关API,请求Body是JsonBody,且会添加租户ID字段,字段名分别为tenantId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithTenantID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, "tenantId", "", handler, middlewares...)
 }
 
+// DeleteRouteWithTenantID 创建DELETE网关API,会在查询参数添加租户ID字段,字段名分别为tenantId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithTenantID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, "tenantId", "", handler, middlewares...)
 }
 
+// PutRouteWithTenantID 创建PUT网关API,请求Body是JsonBody,且会添加租户ID字段,字段名分别为tenantId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithTenantID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, "tenantId", "", handler, middlewares...)
 }
 
+// GetRouteWithTenantID 创建GET网关API,会在查询参数添加租户ID字段,字段名分别为tenantId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithTenantID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, "tenantId", "", handler, middlewares...)
 }
 
+// PostRouteWithUserID 创建POST网关API,请求Body是JsonBody,且会添加用户ID字段,字段名分别为userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, "", "userId", handler, middlewares...)
 }
 
+// DeleteRouteWithUserID 创建DELETE网关API,会在查询参数添加用户ID字段,字段名分别为userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, "", "userId", handler, middlewares...)
 }
 
+// PutRouteWithUserID 创建PUT网关API,请求Body是JsonBody,且会添加用户ID字段,字段名分别为userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, "", "userId", handler, middlewares...)
 }
 
+// GetRouteWithUserID 创建GET网关API,会在查询参数添加用户ID字段,字段名分别为userId
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithUserID(relativePath string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, "", "userId", handler, middlewares...)
 }
 
+// PostRouteWithTenantIDAndUserIDCommon 创建POST网关API,请求Body是JsonBody,且会添加租户ID和用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithTenantIDAndUserIDCommon(relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
-	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, tenantIDField, "userId", handler, middlewares...)
+	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, tenantIDField, userIDField, handler, middlewares...)
 }
 
+// DeleteRouteWithTenantIDAndUserIDCommon 创建DELETE网关API,会在查询参数添加租户ID和用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithTenantIDAndUserIDCommon(relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, tenantIDField, userIDField, handler, middlewares...)
 }
 
+// PutRouteWithTenantIDAndUserIDCommon 创建PUT网关API,请求Body是JsonBody,且会添加租户ID和用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithTenantIDAndUserIDCommon(relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, tenantIDField, userIDField, handler, middlewares...)
 }
 
+// GetRouteWithTenantIDAndUserIDCommon 创建GET网关API,会在查询参数添加租户ID和用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithTenantIDAndUserIDCommon(relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, tenantIDField, userIDField, handler, middlewares...)
 }
 
+// PostRouteWithTenantIDCommon 创建POST网关API,请求Body是JsonBody,且会添加租户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithTenantIDCommon(relativePath string, tenantIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, tenantIDField, "", handler, middlewares...)
 }
 
+// DeleteRouteWithTenantIDCommon 创建DELETE网关API,会在查询参数添加租户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithTenantIDCommon(relativePath string, tenantIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, tenantIDField, "", handler, middlewares...)
 }
 
+// PutRouteWithTenantIDCommon 创建PUT网关API,请求Body是JsonBody,且会添加租户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithTenantIDCommon(relativePath string, tenantIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, tenantIDField, "", handler, middlewares...)
 }
 
+// GetRouteWithTenantIDCommon 创建GET网关API,会在查询参数添加租户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithTenantIDCommon(relativePath string, tenantIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, tenantIDField, "", handler, middlewares...)
 }
 
+// PostRouteWithUserIDCommon 创建POST网关API,请求Body是JsonBody,且会添加用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PostRouteWithUserIDCommon(relativePath string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPost, relativePath, "", userIDField, handler, middlewares...)
 }
 
+// DeleteRouteWithUserIDCommon 创建DELETE网关API,会在查询参数添加用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) DeleteRouteWithUserIDCommon(relativePath string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodDelete, relativePath, "", userIDField, handler, middlewares...)
 }
 
+// PutRouteWithUserIDCommon 创建PUT网关API,请求Body是JsonBody,且会添加用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) PutRouteWithUserIDCommon(relativePath string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodPut, relativePath, "", userIDField, handler, middlewares...)
 }
 
+// GetRouteWithUserIDCommon 创建GET网关API,会在查询参数添加用户ID字段,字段名由调用者指定
+// 参数:
+// - relativePath: 该网关API的相对URL
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) GetRouteWithUserIDCommon(relativePath string, userIDField string, handler Handler, middlewares ...Handler) {
 	builder.AddRouteWithTenantIDAndUserID(http.MethodGet, relativePath, "", userIDField, handler, middlewares...)
 }
 
+// AddRoute 通用添加API函数
+// 参数:
+// - httpMethod: HTTP方法
+// - relativePath: 该网关API的相对URL
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) AddRoute(httpMethod string, relativePath string, handler Handler, middlewares ...Handler) {
 	apiHandlers := make([]api.Handler, len(middlewares)+1)
 
@@ -155,6 +348,15 @@ func (builder *Builder) AddRoute(httpMethod string, relativePath string, handler
 	builder.router.AddRoute(httpMethod, relativePath, apiHandlers...)
 }
 
+// AddRouteWithTenantIDAndUserID 通用添加API函数,会在请求参数(POST和PUT是JsonBody,GET和DELETE是查询参数)添加租户ID和用户ID字段,字段名由调用者指定
+// 参数:
+// - httpMethod: HTTP方法
+// - relativePath: 该网关API的相对URL
+// - tenantIDField: 租户ID字段名
+// - userIDField: 用户ID字段名
+// - handler: 该网关API处理函数
+// - middlewares: 该网关API的中间件
+// 返回值: 无
 func (builder *Builder) AddRouteWithTenantIDAndUserID(httpMethod string, relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
 	apiHandlers := make([]api.Handler, len(middlewares)+1)
 

+ 39 - 6
framework/gateway/builder_request.go

@@ -5,13 +5,30 @@ import (
 	"git.sxidc.com/go-tools/utils/http_client"
 )
 
+// Request 请求接口
 type Request interface {
+	// Request 发送请求
+	// 参数:
+	// - c: 上下文
+	// - request: HTTP客户端请求,用来发送HTTP请求
+	// 返回值:
+	// - 带有响应的请求接口
+	// - 错误
 	Request(c *api.Context, request *http_client.Request) (Request, error)
+
+	// Response 获取响应
+	// 参数: 无
+	// 返回值:
+	// - HTTP客户端响应
 	Response() *http_client.Response
 }
 
+// PostRequest POST请求
 type PostRequest struct {
-	Url  string
+	// Url 要发送请求的完整URL
+	Url string
+
+	// Body请求体,如果为nil,则默认读取RequestBuilder中上下文中的缓存Body
 	Body any
 
 	headers  map[string]string
@@ -61,10 +78,16 @@ func (req *PostRequest) prepare(c *api.Context) (*PostRequest, error) {
 	return preparedRequest, nil
 }
 
+// DeleteRequest DELETE请求
 type DeleteRequest struct {
-	Url         string
+	// Url 要发送请求的完整URL
+	Url string
+
+	// 查询参数,如果为nil,则默认读取RequestBuilder中上下文中的缓存查询参数
 	QueryParams map[string]string
-	PathParams  map[string]string
+
+	// 路径参数,如果为nil,则默认读取RequestBuilder中上下文中的缓存路径参数
+	PathParams map[string]string
 
 	headers  map[string]string
 	response *http_client.Response
@@ -116,8 +139,12 @@ func (req *DeleteRequest) prepare(c *api.Context) (*DeleteRequest, error) {
 	return preparedRequest, nil
 }
 
+// PutRequest PUT请求
 type PutRequest struct {
-	Url  string
+	// Url 要发送请求的完整URL
+	Url string
+
+	// Body请求体,如果为nil,则默认读取RequestBuilder中上下文中的缓存Body
 	Body any
 
 	headers  map[string]string
@@ -167,10 +194,16 @@ func (req *PutRequest) prepare(c *api.Context) (*PutRequest, error) {
 	return preparedRequest, nil
 }
 
+// GetRequest GET请求
 type GetRequest struct {
-	Url         string
+	// Url 要发送请求的完整URL
+	Url string
+
+	// 查询参数,如果为nil,则默认读取RequestBuilder中上下文中的缓存查询参数
 	QueryParams map[string]string
-	PathParams  map[string]string
+
+	// 路径参数,如果为nil,则默认读取RequestBuilder中上下文中的缓存路径参数
+	PathParams map[string]string
 
 	headers  map[string]string
 	response *http_client.Response

+ 22 - 0
framework/gateway/gateway.go

@@ -5,6 +5,7 @@ import (
 	"git.sxidc.com/go-tools/utils/http_client"
 )
 
+// Gateway 网关结构
 type Gateway struct {
 	api        *api.Api
 	httpClient *http_client.Client
@@ -12,6 +13,12 @@ type Gateway struct {
 	options *Options
 }
 
+// NewGateway 创建网关
+// 参数:
+// - api: 网关使用的白泽API
+// - opts: 选项
+// 返回值:
+// - 网关
 func NewGateway(api *api.Api, opts ...Option) *Gateway {
 	options := new(Options)
 
@@ -30,6 +37,10 @@ func NewGateway(api *api.Api, opts ...Option) *Gateway {
 	}
 }
 
+// DestroyGateway 销毁网关
+// 参数:
+// - gw: 网关
+// 返回值: 无
 func DestroyGateway(gw *Gateway) {
 	if gw == nil {
 		return
@@ -39,6 +50,16 @@ func DestroyGateway(gw *Gateway) {
 	gw = nil
 }
 
+// NewBuilder 创建网关API的Builder
+// 参数:
+// - routerType: 路由类型,有两种
+//   - api.RouterRoot: 根路由
+//   - api.RouterPrefix: 带url前缀的路由
+//
+// - version: 版本,用于获取基于上面两中路由够造的带有版本号的路由,传空字符串则选定上面两种路由本身
+// - middlewares: 该Builder范围的中间件
+// 返回值:
+// - 网关API的Builder
 func (gw *Gateway) NewBuilder(routerType string, version string, middlewares ...Handler) *Builder {
 	return newBuilder(gw.api.ChooseRouter(routerType, version), gw.httpClient, gw.options.httpClientTimeoutSec, middlewares...)
 }
@@ -49,6 +70,7 @@ type Options struct {
 	httpClientTimeoutSec int64
 }
 
+// WithHttpClientTimeoutSec 设置http客户端的超时时间
 func WithHttpClientTimeoutSec(httpClientTimeoutSec int64) Option {
 	return func(options *Options) {
 		options.httpClientTimeoutSec = httpClientTimeoutSec

+ 86 - 10
framework/gateway/request_builder.go

@@ -6,9 +6,16 @@ import (
 	"github.com/pkg/errors"
 )
 
+// ResponseSuccessCallback 网关API成功响应回调
 type ResponseSuccessCallback func(requestBuilder *RequestBuilder)
+
+// ResponseErrorCallback 网关API错误响应回调
 type ResponseErrorCallback func(requestBuilder *RequestBuilder, err error)
+
+// BeforeRequestCallback 请求发送前的回调
 type BeforeRequestCallback func(requestBuilder *RequestBuilder) error
+
+// RequestResponseCallback 请求响应回调
 type RequestResponseCallback func(requestBuilder *RequestBuilder, response *http_client.Response) error
 
 type RequestOption func(options *RequestOptions)
@@ -18,18 +25,21 @@ type RequestOptions struct {
 	requestResponseCallback RequestResponseCallback
 }
 
+// WithBeforeRequestCallback 设置请求发送前的回调请求选项
 func WithBeforeRequestCallback(callback BeforeRequestCallback) RequestOption {
 	return func(options *RequestOptions) {
 		options.beforeRequestCallback = callback
 	}
 }
 
+// WithRequestResponseCallback 设置请求响应回调请求选项
 func WithRequestResponseCallback(callback RequestResponseCallback) RequestOption {
 	return func(options *RequestOptions) {
 		options.requestResponseCallback = callback
 	}
 }
 
+// RequestBuilder 请求构建器
 type RequestBuilder struct {
 	c               *api.Context
 	historyRequests []Request
@@ -49,58 +59,103 @@ func newRequestBuilder(c *api.Context, httpRequest *http_client.Request) *Reques
 	}
 }
 
+// Context 获取上下文
+// 参数: 无
+// 返回值:
+// - 上下文
 func (builder *RequestBuilder) Context() *api.Context {
 	return builder.c
 }
 
+// HistoryRequests 获取历史请求(包含响应)
+// 参数: 无
+// 返回值:
+// - 历史请求
 func (builder *RequestBuilder) HistoryRequests() []Request {
 	return builder.historyRequests
 }
 
+// GetResultMapValue 获取结果Map的值
+// 参数:
+// - key: 键
+// 返回值:
+// - 值
 func (builder *RequestBuilder) GetResultMapValue(key string) any {
 	return builder.resultMap[key]
 }
 
+// SetResultMapValue 设置结果Map的值
+// 参数:
+// - key: 键
+// - 值
+// 返回值: 无
 func (builder *RequestBuilder) SetResultMapValue(key string, value any) {
 	builder.resultMap[key] = value
 }
 
+// Post 发送POST请求
+// 参数:
+// - request: PostRequest
+// - opts: 请求选项
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) Post(request *PostRequest, opts ...RequestOption) *RequestBuilder {
 	return builder.request(request, opts...)
 }
 
+// Delete 发送Delete请求
+// 参数:
+// - request: DeleteRequest
+// - opts: 请求选项
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) Delete(request *DeleteRequest, opts ...RequestOption) *RequestBuilder {
 	return builder.request(request, opts...)
 }
 
+// Put 发送Put请求
+// 参数:
+// - request: PutRequest
+// - opts: 请求选项
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) Put(request *PutRequest, opts ...RequestOption) *RequestBuilder {
 	return builder.request(request, opts...)
 }
 
+// Get 发送Get请求
+// 参数:
+// - request: GetRequest
+// - opts: 请求选项
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) Get(request *GetRequest, opts ...RequestOption) *RequestBuilder {
 	return builder.request(request, opts...)
 }
 
-func (builder *RequestBuilder) request(builderRequest Request, opts ...RequestOption) *RequestBuilder {
-	options := new(RequestOptions)
-	for _, opt := range opts {
-		opt(options)
-	}
-
-	builder.params.requestItems = append(builder.params.requestItems, newBuilderRequestItem(builderRequest, options))
-	return builder
-}
-
+// ResponseSuccessCallback 设置网关API成功响应回调
+// 参数:
+// - responseSuccessCallback: 网关API成功响应回调,默认回调会将最后一个请求的响应作为网关API的响应返回
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) ResponseSuccessCallback(responseSuccessCallback ResponseSuccessCallback) *RequestBuilder {
 	builder.params.responseSuccessCallback = responseSuccessCallback
 	return builder
 }
 
+// ResponseErrorCallback 设置网关API错误响应回调
+// 参数:
+// - responseErrorCallback: 网关API错误响应回调,默认回调会按照是否存在错误返回MsgResponse
+// 返回值:
+// - RequestBuilder
 func (builder *RequestBuilder) ResponseErrorCallback(responseErrorCallback ResponseErrorCallback) *RequestBuilder {
 	builder.params.responseErrorCallback = responseErrorCallback
 	return builder
 }
 
+// Request 发送构造的请求链
+// 参数: 无
+// 返回值: 无
 func (builder *RequestBuilder) Request() {
 	httpRequest := builder.httpRequest
 
@@ -133,6 +188,27 @@ func (builder *RequestBuilder) Request() {
 	builder.params.responseSuccessCallback(builder)
 }
 
+// ResponseError 利用网关API错误响应回调发送网关API响应
+// 参数:
+// - 错误
+// 返回值: 无
 func (builder *RequestBuilder) ResponseError(err error) {
 	builder.params.responseErrorCallback(builder, err)
 }
+
+// ResponseSuccess 利用网关API成功响应回调发送网关API响应
+// 参数: 无
+// 返回值: 无
+func (builder *RequestBuilder) ResponseSuccess() {
+	builder.params.responseSuccessCallback(builder)
+}
+
+func (builder *RequestBuilder) request(builderRequest Request, opts ...RequestOption) *RequestBuilder {
+	options := new(RequestOptions)
+	for _, opt := range opts {
+		opt(options)
+	}
+
+	builder.params.requestItems = append(builder.params.requestItems, newBuilderRequestItem(builderRequest, options))
+	return builder
+}