2014-11-12 3 views
1

URL에서 JSON을 읽고 다시 제공하는 간단한 webservice를 만들려고합니다. 나는 spring.io 튜토리얼을 따라 갔다. 명명 규칙에 대해 뭔가 빠져있을 가능성이 있습니까?JSON 대문자 대 소문자를 사용하는 Spring REST

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; 

고마워요.

+1

PHONE 및 Website에 대한 getter 및 setter는 무엇입니까? getter 및 setter는 올바른 대소 문자가 아닐 수도 있습니다. –

+0

http://stackoverflow.com/questions/12583638/when-is-the-jsonproperty-property-used-and-what-is-it-used-for –

답변

2

@JsonProperty 주석을 사용하여 변수 이름을 대체 할 수 있습니다.

@JsonProperty("phone") 
public String PHONE; 
+0

고마워, 나는 그것을 시도했지만 결과 : 전화와 전화 모두. 게터와 세터를 제거하면 작동하는 것처럼 보입니다. 거기에 세터가 없어야한다는 뜻인가요? 아니면 뭔가 다른 원인에 의한 것입니까? –

+0

주석을 getter/setter 메서드에도 추가 했습니까? – Mithun

+0

기본적으로 private이면 getter 및 setter를 사용하고 변수 선언에 주석을 추가합니다. 그렇지 않으면 변수 선언에 주석을 달아 수정해야합니다. – Mithun

관련 문제