• 使用json格式去call外部系统


    1. 使用postman去call

    post方式

    body填入对应的json请求

    格式选json


    2. 使用java 代码去call

    import java.io.BufferedReader;
    import java.io.DataOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    public class GetJsonData {
    
    	public static String getJsonData(JSONObject jsonParam,String urls) {
    		StringBuffer sb=new StringBuffer();
    		try {
    			// 创建url资源
    			URL url = new URL(urls);
    			// 建立http连接
    			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    			// 设置允许输出
    			conn.setDoOutput(true);
                            // 设置允许输入
                            conn.setDoInput(true);
                           // 设置不用缓存
                           conn.setUseCaches(false);
                           // 设置传递方式
                           conn.setRequestMethod("POST");
                           // 设置维持长连接
                            conn.setRequestProperty("Connection", "Keep-Alive");
                           // 设置文件字符集:
                           conn.setRequestProperty("Charset", "UTF-8");
                           // 转换为字节数组
                           byte[] data = (jsonParam.toString()).getBytes();
                          // 设置文件长度
                           conn.setRequestProperty("Content-Length", String.valueOf(data.length));
                          // 设置文件类型:
                          conn.setRequestProperty("contentType", "application/json");
                            // 开始连接请求
                           conn.connect();		
                        OutputStream out = new DataOutputStream(conn.getOutputStream()) ;
    			// 写入请求的字符串
    			out.write((jsonParam.toString()).getBytes());
    			out.flush();
    			out.close();
     
    			System.out.println(conn.getResponseCode());
    			
    			// 请求返回的状态
    			if (HttpURLConnection.HTTP_OK == conn.getResponseCode()){
    				System.out.println("连接成功");
    				// 请求返回的数据
    				InputStream in1 = conn.getInputStream();
    				try {
    				      String readLine=new String();
    				      BufferedReader responseReader=new BufferedReader(new InputStreamReader(in1,"UTF-8"));
    				      while((readLine=responseReader.readLine())!=null){
    				        sb.append(readLine).append("
    ");
    				      }
    				      responseReader.close();
    				      System.out.println(sb.toString());
    					
    				} catch (Exception e1) {
    					e1.printStackTrace();
    				}
    			} else {
    				System.out.println("error++");
    				
    			}
     
    		} catch (Exception e) {
     
    		}
    		
    		return sb.toString();
     
    	}
    
    	public static void main(String[] args) {
    		JSONObject jsonParam1 = new JSONObject();
    		jsonParam1.put("asdad232", "ooooooooooooooo");
    		
    		JSONArray innserJsonParam = new JSONArray();
    		innserJsonParam.add(jsonParam1);
    		
    		JSONObject outerJsonParam = new JSONObject();
    		outerJsonParam.put("asd23232", innserJsonParam);
    		
    		
    		String url = "http://xxxxxx/yyyyyyy?Action=zzzzzzzz";
    		
    		String data = GetJsonData.getJsonData(outerJsonParam, url);
    		// 返回的是一个[{}]格式的字符串时:
    		JSONArray jsonArray = new JSONArray();
    		jsonArray.add(data);
    		// 返回的是一个{}格式的字符串时:
    		/* JSONObject obj= new JSONObject(data); */
    	}
    }
    



  • 相关阅读:
    2019.12.14
    2019.12.17
    Jquery中用offset().top和offsetTop的比较
    wpquery调用前几篇文章的方法
    模仿百度百科的滚轮事件
    WordPress的默认循环
    WordPress自定义菜单和修改去除多余的css
    WordPress自定义循环
    WordPress创建多个page页面模板文件
    玩玩
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/9710228.html
Copyright © 2020-2023  润新知