我有一个控制器,可以接受输入请求作为json
{
"default": true
}
默认为Java关键字,因此我将其设置为
@JsonProperty(“default”)
Private boolean isDefault;
我有一个客户,我需要拨打一个只接受布尔值的default
的电话。
当我执行上述发送请求的方式时,它没有以default: true
的形式发送,而是以isDefault:true
的形式发送,并且对客户端的呼叫对我来说失败了。说isDefault
不存在。
有人可以帮忙吗?
在同一条纸上,我再次收到来自客户端的默认响应,并使用与我发送的相同的值。如何在系统中接受响应?我尝试了使用JsonProperty,但是它没有用。还有来自gson的@SerializedName。有人可以帮忙吗?
答案 0 :(得分:1)
我已经创建了示例项目。这就是我所得到的。
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>
输出:
{"default":true}