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

spring integration中向rest服务发送string对象的ConverterNotFoundException

高豪
2023-03-14

我试图通过http:output-gateway从spring-integration向REST服务发送一个JSON字符串。

但是得到错误

找不到能够从java.lang.String类型转换为org.springframework.http.ResponseEntity<?>类型的转换器

分享有关详情

<int-http:outbound-gateway id="xtifygateway"
        request-channel="requestchannel" request-factory="requestFactory" 
        url="${xtifyUrl}" http-method="POST">
</int-http:outbound-gateway>

<int:header-enricher input-channel="requestchannel">
    <int:header name="Content-Type" value="application/json"/>
</int:header-enricher>
public interface RequestGateway
{
    ResponseEntity<?> pushNotification(String xtifyRequest);
}
  ObjectMapper objectMapper = new ObjectMapper(); 
  try { 
      String xtifyJson = objectMapper.writeValueAsString(xtifyRequest); 
  } 

有人能帮忙吗?我在这里漏掉了什么?

共有1个答案

柳宪
2023-03-14

我想你在找这个:

     <xsd:attribute name="expected-response-type" type="xsd:string">
        <xsd:annotation>
            <xsd:documentation>
                The expected type to which the response body should be converted.
                Default is 'org.springframework.http.ResponseEntity'.
                This attribute cannot be provided if expected-response-type-expression has a value
            </xsd:documentation>
            <xsd:appinfo>
                <tool:annotation kind="direct">
                    <tool:expected-type type="java.lang.Class" />
                </tool:annotation>
            </xsd:appinfo>
        </xsd:annotation>
    </xsd:attribute>

从一个方面来说,字符串应该足够了,但从另一个方面来说,考虑使用一些您的域对象MappingJackson2HttpMessageConverter将在这方面为您服务。

 类似资料:
  • 问题内容: 我有一个REST Web服务配置如下: 我的Tomcat服务器的配置如下: 我创建的POJO如下所示: } 我创建一个测试客户端以测试createUser方法: 但是我收到以下错误: 奇怪的是,当我将所有内容更改为appliction / xml时,它都能正常工作 知道为什么Json不能为我工作吗? 问题答案: 您正在执行: 这是不对的。您应该将真实的JSON字符串发送到您的服务。 获

  • 资源 ComplexObject类只是一个带有字符串的类。当我点击URL:http://localhost:8080/simple-service-webapp/webapi/myresource/This work时,我得到的是“get it!” 但是当我点击:http://localhost:8080/simple-service-webapp/webapi/myresource/comple

  • 我在Java客户端有以下代码,它调用基于Spring的REST服务,我得到一个HTTP 400错误。但它与POST man Client完美配合 Java客户端: 服务器端REST服务代码为 现在,当客户端发送请求时,它会给我http 400错误,这可能是因为在客户端,即时消息发送JSON字符串,而在服务器端,它是一个主体,但这在POST MAN上有效 谁能建议我如何通过Java向基于spring

  • 对于如何将一个< code>json对象从我的android应用程序发送到数据库,我有点不知所措 由于我是新手,我不太确定我出了什么问题,我已经从中提取了数据,并且我不知道如何将对象发布到我们的服务器。 任何建议将不胜感激

  • XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); 方法 描述 open(method,url,async) 规定请求的类型、URL 以及是否异步处理

  • 我有一个接收对象数组的rest服务,我需要将json信息转换回对象列表;我的堆栈是建立在Spring4之上的 正如您所看到的,参数words是RestWord的列表,其定义如下: 此外,我还定义了如下转换器: 就您所能看到的而言,没有太多的逻辑,也得到了在mvc上下文中注册的转换器,就像这样。 嗨,万一有人在这方面挣扎,我设法使一切都启动和运行。 首先,如果您是Rest的新手,我找到了这篇简单的文