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

接受Hashmap作为POST调用的主体

巢皓君
2023-03-14

我必须写一个程序,它将接受Hashmap格式的body。我已经用Hashmap值创建了HttpEntity

public <T> void doPOSTRequest(String url, T body, HttpHeaders headers) throws JsonProcessingException {

    HttpEntity<T> request = new HttpEntity<T>(body,headers);
    System.out.println("Printing Request :" + request);
    ResponseEntity<String> response = null;

    //Calling POST Method
    //response=restTemplate.postForObject(url,request,String.class);
     response=restTemplate.exchange(url, HttpMethod.POST,request,String.class);


    System.out.println(response);

}

我面临以下例外:

异常线程"main"org.springframework.web.client.RESTClientExcture: No HttpMessageConzer for[java.util.HashMap]atorg.springframework.web.client.RESTTemboard$HttpEntipleestCallback.do在org.springframework.web.client.RESTTemplate.do执行(RETemplate.java:733)在org.springframework.web.client.RETemplate.execute(RETemplate.java:670)在org.springframework.web.client.RETemplate.exchange(RETemplate.java:579)在Com。RESTRequest.do发布请求(RESTRequest.java:39)在Com.GenericREST. main(GenericREST. java: 30)

共有1个答案

盖和泰
2023-03-14

尝试使用MultiValueMap而不是像这样的泛型

HttpEntity<MultiValueMap<String, Object>> entity = new HttpEntity<MultiValueMap<String, Object>>(parameters, headers);

全块:

public <T> void doPOSTRequest(String url, T body, HttpHeaders headers) throws JsonProcessingException {
    HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<MultiValueMap<String, Object>>(body,headers);
    System.out.println("Printing Request :" + request);
    ResponseEntity<String> response = null;
    //Calling POST Method
    //response=restTemplate.postForObject(url,request,String.class);
     response=restTemplate.exchange(url, HttpMethod.POST,request,String.class);

    System.out.println(response);
}
 类似资料:
  • 我正试图用我的帖子发送标题,但我似乎无法获得选项的有效值。 没有重载匹配此调用。上一次重载给出了以下错误。不能将“headers”类型分配给“HttpHeaders{[Header:string]:string string[];}”类型。类型“headers”不能分配给类型“{[Header:string]:string string[];}”。类型“headers”中缺少索引签名。TS(276

  • 我正在使用Hibernate JPA运行本机查询并返回结果列表。 我想要获取的结果列表并添加到映射中以供将来处理,但是返回的映射仅包含ResultList中的最后一项。 如何让结果列表在地图中添加多个条目? --编辑-- 预期地图内容: 940 7107877 940 7107664 940 7112778 940 7112479 940 7114678 940 7113504 println输出

  • 问题内容: 我正在尝试允许javascript与Node.js服务器通信。 POST请求(Web浏览器) 现在,Node.js服务器代码如下所示。在用于GET请求之前。我不确定如何使其与POST请求一起使用。 服务器(Node.js) 在此先感谢您的帮助。 问题答案: 以下代码显示了如何从HTML表单读取值。正如@pimvdb所说,您需要使用request.on(’data’…)来捕获正文的内容。

  • 我想创建一个FastAPIendpoint,它只接受任意发布请求正文并返回它。 如果我发送,我想得到。但我也希望能够发送并取回它。 我试过了: 但是无论我发送什么,这都会返回一个空字典。 有什么想法吗?

  • 我的脚本将,作为参数: 但当我将它作为分隔符传递时,它是空的 我知道在参数/参数解析中很特殊,但我以和引用的形式使用它。 为什么它不起作用?我使用的是Python 3.7.3 这是测试代码: 当我运行它作为它打印空。