因此,我需要设计一个RESTful查询API,它基于一些过滤器返回一组对象.通常的HTTP方法是GET.唯一的问题是,它可以拥有至少十几个过滤器,如果我们将所有这些过滤器作为查询参数传递,则URL可能会变得很长(足够长以被某些防火墙阻止).
减少参数数量不是一种选择.
我能想到的另一种选择是在URI上使用POST方法并将过滤器作为POST主体的一部分发送.这是不是RESTfull(对查询数据进行POST调用).
有没有更好的设计建议?
谢谢
我正在尝试设置Jackson JSON自定义反序列化器以将JSON值转换为Long对象.我按照本网站上的说明:http://wiki.fasterxml.com/JacksonHowToCustomDeserializers来设置自定义反序列化器.
但是,为了启动自定义反序列化器,我必须每次都注释,例如
public class TestBean {
Long value;
@JsonDeserialize(using=LongJsonDeserializer.class)
public void setValue(Long value) {
this.value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉Jackson总是使用自定义反序列化器来反序列化Long,而不必每次都使用@JsonDeserialize(using = LongJsonDeserializer.class)注释?
在实体中设置日期字段时,我遇到了与hibernate相关的奇怪问题.日期在java程序中被解释为UTC(我做了一个System.out以确保分配的日期是'UTC'.但是,当hibernate实际上持续存储到数据库时,日期将转换为本地时间并存储)ex .该值已在实体设置器中设置为"2009-09-09 00:08:08" - GMT持续到数据库的实际值为"2009-09-08 08:08:08" - 美国东部时间.我无法找出发生的地点和原因以及如何防止它.谢谢
PS我正在使用joda日期库并使用@ org.hibernate.annotations.Type(type ="org.joda.time.contrib.hibernate.PersistentDateTime")注释该字段