作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 RestTemplate 调用第三方服务。但是当我尝试通过 Java 代码调用该服务时,它会抛出 BadRequest 错误。由于我无法弄清楚如何为 API 构建 Resttemplate,因此我在这里请求有关如何为此类请求构建请求正文的建议,请也查看我现有的代码并帮助我找出以下错误代码。
以下是在 Postman 中形成的代码片段:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("")
.post(null)
.addHeader("Authorization", "************")
.addHeader("User-Agent", "PostmanRuntime/7.13.0")
.addHeader("Accept", "*/*")
.addHeader("Cache-Control", "no-cache")
.addHeader("Postman-Token", "**********")
.addHeader("Host", "**************")
.addHeader("accept-encoding", "gzip, deflate")
.addHeader("content-length", "160200")
.addHeader("Connection", "keep-alive")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
//其中文件的类型为文件
LinkedMultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
map.add("file", new ClassPathResource(file));
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);
HttpEntity<LinkedMultiValueMap<String, Object>> requestEntity = new
HttpEntity<LinkedMultiValueMap<String, Object>>(
map, headers);
ResponseEntity<String> result = template.get().exchange(
contextPath.get() + path, HttpMethod.POST, requestEntity,
String.class);
我想成功调用第三方实体并得到响应。
最佳答案
使用 ResponseEntity
与 byte[]
类型但不带内容类型:
InputStream inputStream = new ClassPathResource("myFile.jpg").getInputStream();
byte[] data = IOUtils.toByteArray(inputStream);
HttpEntity<byte[]> requestEntity = new HttpEntity<>(data);
restTemplate.exchange("url", HttpMethod.POST, requestEntity , String.class);
关于java - 如何为Postman的binary类型的请求体构建RestTemplate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56184470/
我是一名优秀的程序员,十分优秀!