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

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

链接

Hutool

  • 依赖
<dependency>
  <groupId>cn.hutoolgroupId>
  <artifactId>hutool-allartifactId>
  <version>4.1.0version>
dependency>
     
<dependency>			        
  <groupId>com.alibabagroupId>			        
  <artifactId>fastjsonartifactId>			        
  <version>1.2.4version>		      
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;    
}

你可能感兴趣的:(JAVA,java,开发语言,后端)