关于 java:ConverterNotFoundException 在 spring 集成中将字符串对象发送到 rest 服务

ConverterNotFoundException on sending a string object to rest service in spring integration

我正在尝试通过 http:outbound-gateway.

从 spring-integration 向 REST 服务发送 JSON 字符串

但得到错误

No converter found capable of converting from type java.lang.String to type org.springframework.http.ResponseEntity< ? >

分享相关细节

1
2
3
4
5
6
7
8
<inthttp:outboundgateway id="xtifygateway"
        requestchannel="requestchannel" requestfactory="requestFactory"
        url="${xtifyUrl}" httpmethod="POST">
</inthttp:outboundgateway>

<int:headerenricher inputchannel="requestchannel">
    <int:header name="Content-Type" value="application/json"/>
</int:headerenricher>

发送请求的接口是

1
2
3
4
public interface RequestGateway
{
    ResponseEntity< ? > pushNotification(String xtifyRequest);
}

我在java中使用这段代码并调用接口方法。

1
2
3
4
  ObjectMapper objectMapper = new ObjectMapper();
  try {
      String xtifyJson = objectMapper.writeValueAsString(xtifyRequest);
  }

有人可以帮忙吗?我在这里错过了什么?


我想你正在寻找这个:

1
2
3
4
5
6
7
8
9
10
11
12
13
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 expectedresponsetypeexpression has a value
            </xsd:documentation>
            <xsd:appinfo>
                <tool:annotation kind="direct">
                    <tool:expectedtype type="java.lang.Class" />
                </tool:annotation>
            </xsd:appinfo>
        </xsd:annotation>
    </xsd:attribute>

一方面 String 应该足够了,但另一方面考虑使用一些你的域对象。 MappingJackson2HttpMessageConverter 将在这件事上为您工作。


原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267594.html

(0)
上一篇 2022年6月18日
下一篇 2022年6月18日

相关推荐

发表回复

登录后才能评论