4

Spring & Java 1.7 を使用して REST を使用しています

私はモデルクラスの下にいます:

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"}

モデルから変数名を取得し、そのまま送信していると思います。RESTサービスで注釈を変更して、「PersonName」とは異なる属性名を使用できるかどうか教えてもらえますか??

誰かがここで光を当てることができれば幸いです!

ありがとう!

4

1 に答える 1

0

Jackson ライブラリを使用している場合は、次のように指定できると思います。

@JsonProperty("PersonName")
public String getName() {
    return name;
}
于 2013-02-15T00:28:42.243 に答える