JSON メッセージの POST を実行し、Employee オブジェクトに変換したいと考えています。JSON メッセージは {"employee":{"id":2231,"name":"jeffarry2231","niNumber":"SN10KTL"}}
.
従業員オブジェクト
public class Employee {
private Long id;
private String name;
private String niNumber;
...
}
従業員コントローラー
@Controller
public class EmployeeController {
@RequestMapping(value = "/employee/add/", method = RequestMethod.POST)
public void addEmployee(Employee employee){
System.out.println(employee.getName());
}
}
リクエストを投稿しているRestTemplateは
@Test
public void postMethod() {
RestTemplate restTemplate = new RestTemplate();
String jsonEmployee = "{'id':2231,'name':'jeffarry2231','niNumber':'SN10KTL'}}";
HttpHeaders headers = new HttpHeaders();
headers.setAccept(newArrayList(MediaType.APPLICATION_JSON));
HttpEntity<String> requestEntity = new HttpEntity<String>(jsonEmployee, headers);
restTemplate.exchange("http://localhost:8080/employee/add/", POST, requestEntity, String.class);
}
applicationContext.xml には
<mvc:annotation-driven/>
MappingJacksonHttpMessageConverter がデフォルトで使用されることを期待していますが、変換されないようです。ここで何が欠けているのかわかりません!