作者:落渊绝夜 | 来源:互联网 | 2022-10-17 18:02
我正在使用Spring Boot和Spring Framework(spring-boot-starter-parent 2.1.6.RELEASE)开发Rest Client,我有一个表示响应对象的类,如下所示:
public class ValidateResponse {
private String ResponseCode;
private String ResponseDesc;
//getters and setters
//constructors using fields
//empty constructor
}
我正在为外部api创建网络挂钩,并且需要为特定端点返回JSON对象(JSON对象属性必须以大写字母开头)。我正在调用从PostMapping
嵌套在RequestMapping
根路径中的方法返回对象:
@PostMapping("hooks/validate")
public ValidateResponse responseObj(@RequestHeader Map headersObj) {
ValidateResponse respOnse= new ValidateResponse("000000", "Success");
logger.info("Endpoint = hooks/validate | Request Headers = {}", headersObj);
return response;
}
但是,当我从邮递员到达终点时,我得到了重复的varialbes
{
"ResponseCode": "000000",
"ResponseDesc": "Success",
"responseCode": "000000",
"responseDesc": "Success"
}
我知道pojo-json转换是由spring处理的,但是我不明白为什么转换会产生重复的变量。
注意:我知道使用最佳命名变量标准(camelCasing)不会声明ResponseDesc
和ResponseCode
。
我已经按照Java语言规范进行了一些挖掘
标识符是Java字母和Java数字的无限长度序列,其中第一个必须是Java字母。
和
“ Java字母”包括大写和小写的ASCII拉丁字母AZ(\ u0041- \ u005a)和az(\ u0061- \ u007a),并且由于历史原因,ASCII下划线(_或\ u005f)和美元符号($或\ u0024)。$字符仅应在机械生成的源代码中使用,或很少用于访问旧系统上的现有名称。
因此,我假设它在语法上正确地使用Camelcase
[需要对此澄清]格式定义变量。
我正在考虑必须手动创建JSON对象,但我想首先了解此行为的原因。任何指针表示赞赏。