漂泊雪狼的博客

思考,讨论,分享C#,JavaScript,.NET,Oracle,SQL Server……技术

导航

java 调用c# web api 代码

Posted on 2017-12-26 14:06  漂泊雪狼  阅读(1874)  评论(0编辑  收藏  举报

上次我们写的.net  web api 给对方公司的java团队调用,他们觉得说java无法调用.net 写的api ,靠居然有这事,索性自己写一个java的demo给他们

使用apache的HttpClient插件,下载导入对应jar包

 

参考:

http://hc.apache.org/httpcomponents-client-ga/quickstart.html

//package org.apache.http.examples.client;

import java.io.File;
import java.io.FileInputStream;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.*;

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

          CloseableHttpClient httpclient = HttpClients.createDefault();
            try {
         
                HttpPost httpPost = new HttpPost("http://IP/Topevery.CAD.Web.Api/api/user/GetGroupInfo");
                String json = "{\r\n" + 
                        "\"account\":\"abc\",\r\n" + 
                        "\"password\":\"abc\",\r\n" + 
                        "\"grade\":1\r\n" + 
                        "}";
                StringEntity requestEntity = new StringEntity(json,"utf-8");  
                requestEntity.setContentEncoding("UTF-8");                
                httpPost.setHeader("Content-type", "application/json");  
                httpPost.setEntity(requestEntity);  
                
                 
                System.out.println("Executing request: " + httpPost.getRequestLine());
                CloseableHttpResponse response = httpclient.execute(httpPost);
                try {
                    System.out.println("----------------------------------------");
                    System.out.println(response.getStatusLine());
                    System.out.println("result:" + EntityUtils.toString(response.getEntity()));
                } finally {
                    response.close();
                }
            }
            finally {
                httpclient.close();
            }
      }
}

调用结果如下

 

http请求推荐使用 http://square.github.io/okhttp/