http的get请求中的url中添加Object参数

一直以来http的get请求中,都没有尝试带过复杂对象参数,最新在写grpc时, 使用了框架自动转化rpc请求到http请求,参数定义时没有注意复杂度,定义了个对象嵌套对象的请求参数,所以尝试了下载请求的url中携带对象参数的方案。

先说解决方案, 把对象序列化成字符串,encode然后加到url中即可。 请参考下面的sample:

  • 结果

http的get请求中的url中添加Object参数

  • server端定义的请求参数对象

type HelloRequest struct {
	Id   int32 
	Name string
	User *User 
}

type User struct {
	Id   int32  
	Name string 
}

  • 前端发送请求
var helloRequest = {"id": 2,"name": "User",}

var helloRequestString = encodeURI(JSON.stringify(helloRequest)) 
var url = 'http://localhost:8080/v2/hello?id=1&name=hello&user=' + helloRequestString

var ajaxObj = new XMLHttpRequest();
ajaxObj.open('get', url);
ajaxObj.send();

只需要把第一层里面嵌套的对象序列化即可

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值