看到我正在使用包含pojo的Register类。
public class Register {
private String userFirstName,userLastName;
//getters and setters for this
}
这是我的服务
public String Register(Register reg) {
String url = "some URL" ;
String firstname = reg.getUserFirstName();
String lastname = reg.getUserLastName();
JSONObject jsondata = new JSONObject();
jsondata.put("userFirstName", firstname);
jsondata.put("userLastName", lastname);
HttpEntity<?> requestEntity = new Connection().getConnection(jsondata
.toString());
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(
new StringHttpMessageConverter());
ResponseEntity<Register> respone;
try {
respone = restTemplate.exchange(url, HttpMethod.POST, requestEntity,
Register.class);
System.out.println("response"+respone.getBody());
} catch (Exception e) {
System.out.println("++++++++++++ failed +++++++++++++"+e.getMessage());
}
在这里,我正在以
的形式得到答复com.somname.model.Register@67636097
但是我希望以json形式显示响应。为什么我会这样..?我怎样才能获得响应体...?
答案 0 :(得分:0)
我相信一切都按预期工作。我对其他模板不是很熟悉,但我认为它应该可以帮助你“隐藏”REST内部(例如JSON编码/解码)。
如果您检查respone.getBody()
的Java类型,您将获得Register
,因此println
将生成标准Java toString()
输出,如您现在所见。因此,如果您想使用它,请检查字段,但因此,您可以获得与普通Java对象相同的结果。
如果您出于任何目的想要查看JSON(不知道原因),您可以使用例如“手动”将Java对象转换为JSON。杰克逊图书馆......详情请见here
答案 1 :(得分:0)
如果这是userFirstName的getter方法的名称,请尝试这样的事情,对userLastName执行相同的操作
System.out.println("response"+respone.getBody().getUserFirstName());