调用第三方接口的三种方式

调用第三方接口到三种方式

链接

Hutool
  • 依赖
<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>4.1.0</version>
</dependency>
     <!-- json依赖 -->
<dependency>			        
  <groupId>com.alibaba</groupId>			        
  <artifactId>fastjson</artifactId>			        
  <version>1.2.4</version>		      
</dependency>
  • 代码实例
@RequestMapping("/")
public String upload(MultipartFile file){
	String result = "",
    try{
    	InputStreamResource isr = new InputStreamResource(file.getInputStream(),
                                                         file.getOriginalFilename());
        
        Map<String,Object> params = new HashMap<>();
        params.put("file",isr);
        params.put("path","234234");
        params.put("output","json");
        String resp = HttpUtil.post(url,params);
        Console.log("resp: { }",resp);
        result = resp;
    }catch(IOException e){
    	e.printStackTrace();
    }
	return result;
}
HttpClient
  • 代码
@PostMapping("/")
public String getOrder(@Value("$system.fileUpload") String url) throws IOException{
	//创建httpclient对象
    HttpClient httpClient = new HttpClient();
    Charset charset = Charset.forName("UTF-8");
    //创建http发送方式
    HttpPost httpPost = new HttpPost(url);
    //创建发送实体,KV结构
    MutipartEntity reqEntity = new MutipartEntity();
    File myfile = new File("\\xx\xx\x.jpg");
    FileBody fileContent = new FileBody(myfile);
    
    reqEntity.addPart("myfile",fileContent);
    StringBody content = new StringBody("sss.jpg", charset);
    reqEntity.addPart("token", contenttoken);
    
    httppost.setEntity(reqEntity);
    //执行httppost对象
    HtttpResponse reponse = httpClient.execute(httppost);
    HttpEntity resEntity = response.getEntity();
    
    String resString = EntityUtils.toString(resEntity);
    return resString;
}
OkHttp3
  • 代码
@RequestMapping("/")
public String upload2(MutipartFile file){
	String result = "";
    try{
    	OkHttpClient httpClient = new OkHttpClient.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("file", file.getOriginalFilename(),
                             RequestBody.create(MediaType.parse("multipart/form-data;chaeset=utf-8"),
                                               file.getBytes()))
            .addFormDataPart("output", "json")
            .build();
        
        Request request = new Request.Builder()
            .url(UPLOAD_PATH)
            .post(multipartBody)
            .build();
        
        Response response = httpClient.newCall(request).execute();
        if(response.isSuccessful()){
        	ResponseBody body = response.body;
            if(body != null){
            result = body.String();
            sout(result);
            }
        }
    }catch(Exception e){
        	e.printStackTrace();
        }
     return result;    
}
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值