我正在创建一个REST-API与泽西。为此,我正在学习PluralSight课程。
我已经安装了Jersey 2.2和Jersey media moxy依赖项(v2.26)。我将返回以下资源以将其解析为JSON:
@XmlRootElement
public class Playlist {
private int id;
private String naam;
private int eigenaarID;
private Boolean owner;
public void setData(int id, String naam, int eigenaarID) {
this.id = id;
this.naam = naam;
this.eigenaarID = eigenaarID;
if(eigenaarID == 0) {
owner = false;
} else {
owner = true;
}
}
@XmlElement(name="id")
public int getID() {
return id;
}
@XmlElement(name="name")
public String getNaam() {
return naam;
}
public Boolean getOwner() {
if(eigenaarID == 0) {
return false;
}
return true;
}
public ArrayList<Track> getTracks(){
return new ArrayList<Track>();
}
}
如果我输出XML(使用@products(MediaType.APPLICATION_XML)),则“getNaam”的属性将正确地重命名为“name”,而不是“naam”。当我输出JSON(@products(MediaType.APPLICATION_JSON))时,不仅我的属性没有被重命名,所有私有属性也都被输出。有什么问题?
我最终使用了杰克逊。我用这个StackOverflow条目设置它。
我的应用程序如下:
package com.weijland.spotitube;
import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
@ApplicationPath("services")
public class MyApplication extends ResourceConfig {
public MyApplication() {
packages("org.glassfish.jersey.jackson.JacksonFeature");
}
}
我最终使用了这种依赖关系:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.2</version>
</dependency>
您必须在@xmlement(name=“name”)
中更改它。
我试图使用Jackson注释来重新命名序列化过程中产生的一些json标签。所有注释都编译得很好,当我运行时,除了所有Jackson注释之外,Jackson序列化工作完全被忽略。即使像@jsonignore或@jsonproperty这样的基本命令对json响应也没有影响。构建路径中的库有: 下面是我需要序列化的一个类的代码示例:
有什么想法为什么@primary在这里没有被考虑在内吗?
问题内容: 我的@Transactionnal注释似乎被忽略了。我对Spring容器的初始化没有任何错误。看来我的方法尚未被Spring TX框架代理。在执行服务的方法期间,JDBCTemplate会引发预期的RuntimeException。问题在于JDBC连接没有回滚,并且更改保持不变。stacktrace没有显示应该包装我的服务方法的代理的任何迹象。 编辑:添加了控制器的代码 编辑2:添加了
我正在迁移一个应用程序从weblogic 10.3到weblogic 12.2。 我包括一个与其他项目共享的库。此jar包含一些带有@EJB注释的POJO,如下所示: 请注意,这只是一个POJO:它没有@无状态或@有状态注释。这个想法是,当我想使用这个服务时,我在另一个ejb-jar中用一个具体的@无状态Bean类扩展它。但是我只希望这个服务是我需要的,其他服务应该被视为POJOS。 在weblo
问题内容: 我有一个实体,该实体与另一个用@Where注释的实体有关联,就像这样 最近不可避免的事情发生了,我需要加载不符合@Where子句的EntityB。我可以删除@Where批注,但是它使用很多,所以理想情况下,我不想这样做。除了手动加载EntityB列表之外,还有另一个查询,我还有哪些选择?我可以告诉Hibernate忽略@Where注释吗? 问题答案: 经过大量研究,这似乎是不可能的。我
我对Jackson注释有一个问题,在《大部头1》中似乎被忽略了。我使用Jackson将REST响应序列化为JSON。我打开了设置: openejb。cxf。jax-rs.providers=org。科德豪斯。杰克逊。jaxrs。JacksonJsonProvider在系统中。属性 Jackson序列化工作正常,除了所有似乎被完全忽略的Jackson注释。事件像@JsonIgnore或@JsonPr