go语言关于参数注入的问题

关于参数注入的问题

如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是post请求、
前端—post—json{id:1,pageSize:10,page:1}

参数注入方法:ShouldBindJSON 前端用对象的格式传递参数

  • post + json
    ● 传递过来json参数,post请求的
    ○ {page:1,pageSize:10,keyword:“”}
    ● gin/beego —context—-c.Request.Body
    ○ [1,2,3,2,33,4,5,55,55,33]
    ● json库方法 json.NewDecoder®—-Decoder对象
    ○ 注入到pageInfo
    前端api里面的写法
    ● post + json
import service from '@/utils/request'

// 查询帖子
export const loadBbsData = (data) => {
  return service({
    url: '/bbs/page',
    method: 'post',
    data
  })
}

● get + json 不支持!!!

● Decoder.Decode(pageInfo)
○ 底层就是通过反射找到所有结构体的属性,通过属性找到json标签,查看名字是否和jsonkey一致,如果一致就直接把value赋值给属性
● 结束。

参数注入方法:ShouldBindQuery 前端使用问号的方式

● post + query ?id=1&name=1 字段就需要配置form选项!
● get + query ?id=1&name=1
前端api里面的写法 method:‘get’ or method:‘post’ 都可以!

import service from '@/utils/request'

export const loadBbsData = (data) => {
  return service({
    url: `/bbs/page?page=${data.page}&pageSize=${data.pageSize}&keyword=${data.keyword}`,
    method: 'get',
  })
}

model里面必须要配置json字段 ShouldBindQuery 绑定参数就要配置form字段!

type PageInfo struct {
    Page     int    `json:"page" form:"page"`         // 页码
    PageSize int    `json:"pageSize" form:"pageSize"` // 每页大小
    Keyword  string `json:"keyword" form:"keyword"`   //关键字
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值