当前位置: 首页 > 知识库问答 >
问题:

如何用Spring RestTemplate发布表单数据?

田巴英
2023-03-14

我想将以下(工作的)curl片段转换为RestTemplate调用:

curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email

如何正确传递email参数?以下代码将导致404 Not Found响应:

String url = "https://app.example.com/hr/email";

Map<String, String> params = new HashMap<String, String>();
params.put("email", "first.last@example.com");

RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.postForEntity( url, params, String.class );

我尝试在PostMan中制定正确的调用,通过在正文中将email参数指定为“form-data”参数,可以使其正常工作。在RESTTemplate中实现此功能的正确方法是什么?

共有1个答案

农飞星
2023-03-14

POST方法应该沿着HTTP请求对象发送。请求可以包含HTTP头或HTTP正文或两者。

因此,让我们创建一个HTTP实体,并在body中发送头和参数。

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add("email", "first.last@example.com");

HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);

ResponseEntity<String> response = restTemplate.postForEntity( url, request , String.class );

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/resttemplate.html#postforobject-java.lang.string-java.lang.object-java.lang.class-java.lang.object...-

 类似资料:
  • 问题内容: 我想将以下(工作)curl代码段转换为RestTemplate调用: 如何正确传递email参数?以下代码导致404 Not Found响应: 我试图在PostMan中制定正确的调用,并且可以通过在主体中将email参数指定为“ form- data”参数来使其正常工作。在RestTemplate中实现此功能的正确方法是什么? 问题答案: POST方法应沿着HTTP请求对象发送。并且该

  • 问题内容: 我的代码: 我试图使用提取API发布表单,它发送的正文如下: (我不知道为什么每次发送时边界数字都会更改…) 我希望它使用“ Content-Type”:“ application / x-www-form- urlencoded”发送数据,我该怎么办?或者,如果我只需要处理它,如何在控制器中解码数据? 向谁回答我的问题,我知道我可以做到: 我想要的是类似jQuery中的$(“#for

  • 问题内容: 我必须承认我有点困惑…我以前从未做过,而且我显然缺少一些东西 当我通过http.post将数据传递到我的php文件时,我似乎无法收集数据… 有人可以告诉我为什么这行不通吗? FormData会显示在控制台日志中,并且可以确定正在写入文件。但是,看起来好像没有数据传递。 这是在我的php文件中。试图将提交表单中的数据写入文件中(只是测试)。 问题答案: 经过大量研究后,我发现这有点像ph

  • 问题内容: 我有以下代码,但是当我从页面重定向提交时。我希望能够使用jquery / ajax向其发布内容,以便提交时页面不会刷新。有人可以给我看一个jsfiddle演示吗? 问题答案: 看一下jQuery :

  • 使用注释: 我如何定义一个,它可以

  • 问题内容: 我的页面上有一个表单,其中包含大量输入和一些隐藏字段,有人要求我将数据通过“后置数组”传递,只是不确定如何执行此操作, 这是我目前正在做什么的摘要 在我的process.php im中,然后这样调用数据… 有没有办法将其发布为数组?无论如何,我的方法是不好的做法吗? 问题答案: 给每个输入一个数组格式的名称: 然后在PHP 中将是一个数组: