http的get请求中的url中添加Object参数 - Go语言中文社区

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();

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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ioridy/article/details/112794539
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-12-11 18:10:50
  • 阅读 ( 1339 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢