我正在尝试创建简单的Web服务,即从URL读取JSON并将其返回。我关注了spring.io教程。我可能错过了一些有关命名约定的内容?
我使用的JSON没有很好的命名约定。一些值是大写的,一些小写的其他值是混合的。我理解为与restTemplate正确匹配我需要遵循这些名称。
我的对象结构:
public class Page {
private String name; //works
private String about; // works
private String PHONE; //does not work
private String Website; //does not work
//getters and setters
}
如果我将它们改为公开,它们就会开始工作。
public class Page {
private String name; //works
private String about; // works
public String PHONE; //works
public String Website; //works
//getters and setters
}
这是我使用
的代码的一部分@RequestMapping(value = "/Test")
public Bubble getBubbleInfo(){
RestTemplate restTemplate = new RestTemplate();
Page page= restTemplate.getForObject("myURL", Page.class);
return page;
}
我缺少什么?它看起来使用私有所需的经典lowerUpper约定但如果我改变它将无法与JSON正确匹配。我能以某种方式为春天命名吗?
//spring, this is PHONE
public String phone;
非常感谢。
答案 0 :(得分:7)
您可以使用@JsonProperty批注覆盖变量名称。
@JsonProperty("phone")
public String PHONE;