@@JsonProperty批注不适用于java属性
我有一个控制器,它以json的形式接受输入请求@@JsonProperty批注不适用于java属性,java,json,jackson,gson,Java,Json,Jackson,Gson,我有一个控制器,它以json的形式接受输入请求 { "default": true } 默认值是一个java关键字,所以我将其设置为 @JsonProperty(“default”) Private boolean isDefault; 我有一个客户端,我需要进行一个只接受默认值(布尔值)的调用 当我以上述方式发送请求时,它不是默认发送:true,而是作为isDefault:true发送,对客户端的调用对我来说是失败的。说是默认是不存在的 有人能帮忙吗 同样地,我从客户
{
"default": true
}
默认值是一个java关键字,所以我将其设置为
@JsonProperty(“default”)
Private boolean isDefault;
我有一个客户端,我需要进行一个只接受默认值(布尔值)的调用
当我以上述方式发送请求时,它不是默认发送:true,而是作为isDefault:true发送,对客户端的调用对我来说是失败的。说是默认是不存在的
有人能帮忙吗
同样地,我从客户机得到一个默认响应,该响应的值与我发送的值相同。我如何接受系统中的响应?我试过使用JsonProperty,但它不起作用。还有来自gson的@SerializedName。有人能帮忙吗?我已经创建了示例项目。这是我得到的 Pojo类:
public class Pojo {
@JsonProperty("default")
private boolean isDefault;
public boolean isDefault() {
return isDefault;
}
public void setDefault(boolean aDefault) {
isDefault = aDefault;
}
}
控制器:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/default")
public Pojo test(){
Pojo p = new Pojo();
p.setDefault(true);
return p;
}
}
pom依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
用@JsonProperty显示代码是不够的,它应该是workedI提供的pojo,我在其中添加了JsonProperty并发送了请求…LMK您还需要什么,我可以提供如何显示您的maven依赖性控制器和pojo类。发送完整的代码,我字面上测试它为我工作。这是我的案例中返回的结果。{default:true}。如果你愿意,我会把我的解决方案粘贴到那里。它非常基本,你的代码可以工作。更可能的情况是,您没有实际运行此代码。它与我的依赖项不起作用…我使用新的依赖项进行了测试,通过将我的gradle依赖项从com.fasterxml.jackson.datatype:jackson-datatype-jsr310更改为com.fasterxml.jackson.core:jackson core:2.10.1我通过将我的gradle依赖项从数据类型:jackson-datatype-jsr310到com.fasterxml.jackson.core:jackson-core:2.10.1
{"default":true}