我怎么知道我正在使用的Jaxrs?

问题描述

我有一个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类路径具有:

enter image description here

(我尝试过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>

enter image description here

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

enter image description here

解决方法

在这种情况下,您不需要@JsonIgnore。您可以简单地忽略不需要反序列化的变量(在这种情况下为密码),而杰克逊将只返回用户名。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...