我怎么知道我使用的是什么 jaxrs 实现?

How do I know what implementation of jaxrs I am using?

我有一个 Java 1.7 启动应用程序。它确实有一些 RESTful api。

我想将 @JsonIgnore 添加到一个文件中,这样它就不会在 api 中返回。

例如

Member.java

import com.fasterxml.jackson.annotation.JsonIgnore;
    
private java.lang.String username;
@JsonIgnore
private java.lang.String password;

不忽略密码。

"member": {
    "password": "**************",
    "username": "richard"
}

我认为@JsonIgnore 不起作用的原因是因为我使用com.fasterxml.jackson.annotation.JsonIgnore。我应该使用来自不同库的不同注释吗?即我的 jaxrs 实现可能不是 com.fasterxml.jackson?我怎么知道?

IntelliJ 类路径有:

(我试过net.minidev.json.annotate.JsonIgnore没有成功)

更多信息:

pom.xml

<dependency>
    <groupId>net.minidev</groupId>
    <artifactId>json-smart</artifactId>
    <version>2.3</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.11.2</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.11.2</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.11.2</version>
</dependency>

是这个问题吗?两个版本!我不确定 2.0.5 版本来自哪里,因为它没有在 pom 中定义。

在这种情况下,您不需要@JsonIgnore。你可以简单地省略你不想反序列化的变量(在这种情况下是密码),杰克逊只会 return 你的用户名。