You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.6 KiB

goframe

s.BindHandler("/say", hello.SayHello)

默认method是all

s.BindHandler("GET:/say", hello.SayHello)

将请求方式变味了get

bindObject:批量绑定方法

例:

func (s *Server) BindObject(pattern string, object interface{}, method ...string)

method ...string指定绑定的方法,不指定全都有;

BindObjectMethod:只能绑定一个方法;需要特殊路径,或一个 Controller 只想暴露少量接口时。

func (s *Server) BindObjectMethod(pattern string, object interface{}, method string)

BindObjectRest:只能绑定指定的方法名如:GET POST DELECT 只能匹配动词的方法;纯粹的资源操作(CRUD),符合标准 REST 规范。最常用的get,post

规范路由

GoFrame中提供了规范化的路由注册方式,注册方法如下

func Handler(ctx context.Context, req *Request) (res *Response, err error)

其中RequestResponse为自定义的结构体。

通过如下方式指定请求方法与路径

type HelloReq struct {
    g.Meta `path:"/hello" method:"get"`
}

api内一般定义请求和响应的结构体的


func (c *Hello) Params(ctx context.Context, req *hello.ParamsReq) (res *hello.ParamsRes, error error) {
	r := g.RequestFromCtx(ctx)
	name := r.GetQuery("name")
	r.Response.WriteJson(name)
	return
}

name位置是一个var的泛型

getquery第二个参数是个默认值;

方法名 返回类型 核心优势 Java 类比
GetQuery *gvar.Var 链式转换类型极方便 getParameter()
GetQueryMap map[string]interface{} 快速获取全部原始数据 getParameterMap()
GetQueryStruct error 全自动绑定,代码最优雅 DTO 自动注入
GetQueryMapStrStr map[string]string 类型统一,无需转型 -

用GetQueryMap来

func (c *Hello) Params(ctx context.Context, req *hello.ParamsReq) (res *hello.ParamsRes, error error) {
	r := g.RequestFromCtx(ctx)
	data := r.GetQueryMap(map[string]interface{}{"name": "lisi", "age": "20"})
	r.Response.Writeln(data)
	return
}

goframe的动态路由

主要写在g.Meta的path标签里

占位符格式 名称 匹配规则 示例
:name 命名占位符 匹配两个 / 之间的内容(最常用) /user/:id 匹配 /user/123
\*any 模糊占位符 匹配从当前位置开始的所有后续内容 /file/*path 匹配 /file/img/a.png
{pattern} 正则占位符 使用正则表达式进行精确匹配 /user/{[0-9]+} 只匹配数字 ID

api

package api

import (
    "github.com/gogf/gf/v2/frame/g"
)

type Res struct {
    g.Meta `mime:"text/html"`
}

type ParamReq struct {
    g.Meta `path:"/params/:name" method:"all"`
}

homily link的ai预测大模型

  1. AI预测大模型功能与特点 • 模型包含六个关键价格:买回价、卖出价、两个预测低点与两个预测高点。 • 采用深度学习算法分析历史数据,实时调整策略以捕捉市场趋势变化。 • 处理流程分为数据预处理、模型构建和数据分析决策三个阶段。 • 已从8月2日开始实际体验,用户可测试其预测功能。
  2. 实际预测案例验证 • 英伟达案例显示7月31日预测的8月1日高低点与实际价格误差约0.2%-1%。 • 苹果案例中8月6日预测的次日高点214.81与实际213.64相差1.17美元。 • 通过计算预测价格中值并与当日收盘价对比,可预判次日涨跌方向。
  3. 核心使用场景与方法 • 涨跌预判:用前日预测高低点均值对比当日收盘价,高于中值则预判次日上涨。 • 日内交易:依据模型提供的买回价、卖出价在日内进行低吸高抛操作。 • 上涨趋势中参考买回价寻找低吸机会,下跌趋势中按卖出价或预测高点挂单。
  4. 模型应用原则与局限性 • 预测结果需结合趋势判断使用,如先确认涨跌概率再执行交易策略。 • 明确告知所有预测存在误差,核心价值在于提供量化参考依据。 • 强调通过AI技术辅助交易决策,但需保持对市场动态的独立判断。