step1:在beego项目中添加:
copyrequestbody = true
然后在控制器中添加代码:
req:=this.Ctx.Input.RequestBody
data:=string(req)
这样就可以获取输入流中的字符串内容了,具体代码如下实例:
func (this *ApiController) Dd() {
req:=this.Ctx.Input.RequestBody
fmt.Println(req)
fmt.Println(string(req))
fmt.Println(this.Ctx.Input.Data())
this.Data["json"] = map[string]interface{}{"code": 1, "message": string(req)}
this.ServeJSON()
return
}
然后小编在eclipse中写了demo方法请求go中的代码观察它的获取值情况,代码如下:
package Timeout;
import org.apache.commons.collections.bag.SynchronizedSortedBag;
import Tools.HttpUtil;
import net.sf.json.JSONObject;
public class Demo {
public static void main(String[] args) throws InterruptedException {
while(true){
String url="http://127.0.0.1:8080/demo";
JSONObject obj=new JSONObject();
obj.put("name", "12334444");
System.out.println("入参:"+obj.toString());
String $res=HttpUtil.getHttpPost(url, obj.toString());
// String $res= HttpUtil.getHttpGet(url);
System.out.println($res);
Thread.sleep(1500);
}
}
}
实例结果: