对于url传参的心得。在java中获取数据。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于url传参的心得。在java中获取数据。。相关的知识,希望对你有一定的参考价值。

由于项目抓的紧,发现一个url传参的问题,忙里偷闲整理了一下。

首先得说明,我是要用过另一个项目的url获取json串解析出来给自己的接口使用,这是在java中完成。一般的情况是这样的:

 1 public static void main(String args[]){
 2         String url="http://123.56.6.112:2080/ec_app_api/article/getfirst?params={v:1}";  //通过?在后面传参
 3         StringBuilder json = new StringBuilder();
 4         try {
 5             URL urlObject = new URL(url);
 6             URLConnection uc = urlObject.openConnection();
 7             BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));
 8             String inputLine = null;
 9             while ( (inputLine = in.readLine()) != null) {
10                 json.append(inputLine);
11             }
12             in.close();
13         } catch (MalformedURLException e) {
14             e.printStackTrace();
15         } catch (IOException e) {
16             e.printStackTrace();
17         }
18         String json1=json.toString();
19         System.out.println(json1);
20         Map<String,Object> mapa = new HashMap<String,Object>(); //map的value必须为object
21         mapa = JSONObject.fromObject(json1);
22         System.out.println(mapa);
23         Map<String,Object> mapb = JSONObject.fromObject(mapa.get("data")); //获取date里面的参数,这也是一个map集合
24         System.out.println(mapb);
25         String title=mapb.get("title").toString();
26         String content=mapb.get("content").toString();
27         String id=mapb.get("id").toString();
28         System.out.println("@@@@@@@@@@@@@@"+title+"@@@@@@@@@@@@@@@@");

  然而,今天的项目是通过postman插件里面的raw请求可以成功,而一般的form—date是不成功的。查资料后才发现raw是一种原始的字符串请求方式。因此找到相关的方法就好了;下面是请求的代码:

 public static void main(String args[]) throws Exception{

        String jsonTemp="{\"method\": \"GetCourtServItemList\",\"version\": \"ljapp_v1.0.0\",\"courtId\":283}";
        String method="GetCourtServItemList";
        String url = "http://115.28.5.221:8080/api/GetCourtServItemList.json";

        HttpClient httpClient = new DefaultHttpClient();
        HttpPost post = new HttpPost(url);
        StringEntity postingString = new StringEntity(jsonTemp);// jsonTemp的传递
        post.setEntity(postingString);
        post.setHeader("Content-type", "application/json");
        HttpResponse response = httpClient.execute(post);
        String content = EntityUtils.toString(response.getEntity());
        System.out.println(content);

    }

  好了,这样请求就成功了。

以上是关于对于url传参的心得。在java中获取数据。。的主要内容,如果未能解决你的问题,请参考以下文章

使用HTTP协议向服务器传参的方式及django中获取参数的方式

springboot对传参的拦截统一处理

JS获取Url参数

javascript Url 传参的坑,base64参数和url参数之间的转移

Vue 路由组件传参的 8 种方式

接收前端传到后端的数据的4种方式