我有一个调用Http4endpoint的生产者模板。如何将响应转换为POJO?使用ProducerTemplate.GetBody(Class)仅转换为String有效,而不能转换为Pojo。
Map<String, Object> headers = new HashMap<>();
headers.put(Exchange.HTTP_METHOD, GET);
//This is working, I can see the response
String responseBody = producerTemplate.getBody(String.class);
//This not working working, always return null
Foo responseBody = producerTemplate.getBody(Foo.class);
{
"name":"juan",
"age": 12
}
public class Foo {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
在杰克逊转换器上有一个camel 2.17的进化,即camel-9583。通过此更改,您将能够通过在上下文中设置这些属性来使用Jackson启用“回退转换器”:
context.getProperties().put(JacksonConstants.ENABLE_TYPE_CONVERTER, "true");
context.getProperties().put(JacksonConstants.TYPE_CONVERTER_TO_POJO, "true");
然后,Camel将尝试使用Jackson将消息转换为pojo类。
使用当前版本(2.16),您可以为pojo创建一个显式转换器:
@Converter
public FooConverter {
private static final ObjectMapper MAPPER = new ObjectMapper();
@Converter
public static Foo fromString(String message) {
return MAPPER.readValue(message, Foo.class);
}
}
我使用Ehcache 2.6.8作为Spring Boot应用程序的一部分,作为Hibernate 4.3.11的二级缓存。我有一个JMX MBean,它允许我检查缓存的内容(如果您感兴趣,可以在这里查看)。 首先,我使用CacheManager名称来获取缓存列表。这很好。我可以用返回缓存。然后我调用。这很好,cacheName是“com.myapp.DomainObjectName”,键被列为“
我试图打开一个文件进行解析(一个二进制文件),但是无论什么fopen()总是返回NULL。 我已经排除了几乎所有的东西,我有一个简单的测试脚本: trigger_error(var_export())的输出;是: 无论我为第二个fopen()选项指定什么标志,我都会得到相同的结果。 现在,明显的问题是该文件是否存在,以及我是否拥有读取该文件的权限?这两个问题的答案都是肯定的。我使用了相对路径和绝对
在fetchplaces方法中,新的window.google.maps.places.PlacesService(map)总是返回null,并且Service.NearbySearch不会引发函数错误。 请帮忙。
DatePicker在更改日期之后没有更新。 另外,我尝试了在没有侦听器的情况下获取数据,比如: 也许有人有类似的问题,并找到了解决办法? 编辑1:
我正在使用Spring4 MVC创建一个REST API。我希望能够在请求无效endpoint时提供一个默认的JSON错误对象。我读过关于@ControllerAdvice和@ExceptionHandler的文章,我试图正确使用它们: 我的ErrorResponse类如下所示: 我修改了web.xml,以便抛出NoHandlerFound异常: 然后返回标准Tomcat404页。请不要说: >
问题内容: 结果始终为1: 我在phpMyAdmin中运行了$ sql查询,它返回3,所以查询不是问题。$ vote_total全局初始化为0,因此1来自某个地方。我还需要提供什么其他信息来帮助我? 谢谢,瑞安 问题答案: 返回选定的行数,而不是特定行的字段。使用来获取您与您的查询选择的行: 您还可以用来获取一行并获取特定字段: 这将获取第一行(从零开始)并返回第一字段(从零开始)。