当前位置:编程学习 > 网站相关 >>

grails发送POST请求,接受请求

[java]
grails发送POST请求,接受请求 
//此连接地址为配置到app-config.properties下面 
 
def http = new HTTPBuilder(ConfigurationHolder.config.entrust.serverUrl) 
 
//----发送请求  
 
/**
   *发送请求 ,参数根据具体接口内容拟定
 
   * @param orders 订单号集合,必须参数
   * @param auditor 审核人  必须参数
   * @return {result: 'true or false', errorMsg: '错误信息'}
   * result: true为成功, false 为失败,
   * errorMsg: 当result为false时,返回误原因,
   * @throws Exception
   */ 
  def refuseCheckForEntrust(orders,auditor) throws Exception { 
    http.request(POST, JSON) { req -> 
      uri.path = 'yourControllerName/yourMethodName' 
      body = [orders:orders,auditor:auditor] //传递的参数,将要按照你所指定的格式进行发送 
       req.getParams().setParameter("http.connection.timeout", new Integer(60000)); 
      req.getParams().setParameter("http.socket.timeout", new Integer(60000)); 
[java]
      response.success = { resp, json -> 
        return json 
      } 
      response.failure = { resp -> 
        throw new Exception('发送POST请求失败"+resp) 
      } 
    } 
  } 
 
//---接受POST请求端解析,(以grails的controller为例,JAVA端的Action类似) 
 
//1、第一种方式按照JAVA中的JSON-LIB方式转换为对象 
 
           String jsonStr = request.JSON;//此处可以弱引用声明 
            log.info 'process charge .' 
            Charge charge = new Charge() 
            charge = (Charge) JSONObject.toBean(JSONObject.fromObject(jsonStr), Charge.class); 
 
//第二种方式按照grails弱引用的特点去取单独的某个参数 
 
def jsonReq = request.JSON;//此处可以弱引用声明 
def name = jsonReq.name 
 
String jsonStr = jsonReq as String  
 
//返回请求端内容 
 
def result = [result: false, errorMsg: "该账号已经存在,请重新输入"] 
 render result as JSON 



摘自 自由空间
补充:Web开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,