拥有JSON响应中属性的特定名称

时间:2013-02-15 00:25:57

标签: java spring rest

我正在使用Spring使用Spring& Java 1.7

我在模型类之下:

private String name;
public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

我的控制器已映射到GET / person / info API。因此,控制器取名称&将其显示为JSON响应。

这是控制器:

 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestHeader;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping(value = "persons/info", method = RequestMethod.POST, consumes="application/json", produces="application/json")
public ResponseEntity<String> getPersonInfo(@RequestBody String body) throws Exception {    
    String personInfo = null;

    MyServiceJson myServiceJson = MyServiceJsonFactory.getMyServiceObject(body);

    personInfo = myService.getPersonInfo(myServiceJson);

    HttpHeaders responseHeader = new HttpHeaders();
    return Util.getResponse(personInfo, responseHeader, HttpStatus.OK);
}

我正在获得JSON响应,如下所示:

{"name":"Jack"}

问题在于此名称字符串必须是personName,如下所示:

{"PersonName":"Jack"}

我相信它正在从模型&amp;中获取变量名称。按原样发送。任何人都可以告诉我是否可以将不同的属性名称作为“PersonName”并在REST服务中进行一些注释更改?

如果有人能在这里说清楚,我会很感激!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果你使用杰克逊图书馆,我想你可以用这种方式指定:

@JsonProperty("PersonName")
public String getName() {
    return name;
}