Java构建Request请求

本文介绍了如何使用Java的RestTemplate和HttpPost两种方式构建HTTP请求,特别是处理腾讯平台返回的特殊参数格式。同时,讲解了如何向后台发送字符串、上传文件以及后台如何接受这些参数。
摘要由CSDN通过智能技术生成

前两天在做我们内部系统时,需要我们网腾讯平台上回传数据,当时给的接口是这样的

请求示例:

curl -i "https://api.weixin.qq.com/marketing/user_action_sets/add?version=v1.0&access_token=<ACCESS_TOKEN>" 
-H "Content-Type: application/json" 
-d '{
    
   "type": "WEB", 
   "name": "wxadtest",
   "description": "test"
    }'

当时看见之后,可以猜测出-H的含义,但是,这个-d是什么玩意?传递参数不都是 key:value的形式吗,这个只是一个value啊,该怎么接收啊????
随后赶紧查文章:《cURL 的十种常见用法》
在这里插入图片描述
随后,使用postman来构建这个请求:

在这里插入图片描述

1. 两种方式构建request请求

1.1. RestTemplate
  1. 向后台发送字符串
		JSONObject jsonData = new JSONObject();
        jsonData.put("type","WEB");
        jsonData.put("name",wxadtest);
        jsonData.put("description",test);
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity httpEntity = new HttpEntity(jsonData.toJSONString(),httpHeaders);
        String url="https://api.weixin.qq.com/marketing/user_action_sets/add?version=v1.0&access_token=<ACCESS_TOKEN>"
       	String result= new RestTemplate().postForObject(url,httpEntity,String.class);
  1. 向后台传递文件
    传递多个文件
	    String url = "http://127.0.0.1:8080/test/upload.do";
		String filePath = "C:\\Users\\MikanMu\\Deskto
Java中发送multipart请求,您可以使用Apache HttpClient或OkHttp等HTTP客户端库来实现。下面是使用Apache HttpClient发送multipart请求的示例代码: ```java import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import java.io.File; import java.io.IOException; public class MultipartRequestExample { public static void main(String[] args) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("https://api.example.com/endpoint"); // 替换为您要请求的API的URL // 创建multipart实体 MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addPart("file", new FileBody(new File("path/to/file"))); // 替换为要上传的文件路径 HttpEntity multipart = builder.build(); httpPost.setEntity(multipart); HttpResponse response = client.execute(httpPost); // 处理响应 int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == 200) { // 请求成功 System.out.println("请求成功"); // 处理响应内容 } else { System.out.println("请求失败:" + statusCode); } // 关闭HTTP客户端连接 client.close(); } } ``` 上述示例代码使用了Apache HttpClient库来构建multipart实体,并通过HttpPost发送请求。您需要将URL替换为实际API的URL,并根据需要添加其他请求参数或修改请求头。确保您已经引入Apache HttpClient库的依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值