@RequestMapping(value = "/{id}", method = RequestMethod.GET, headers = "Accept=application/json")
 @ResponseBody
 public ResponseEntity<String> showJson(@PathVariable("id") Long id) {
   Userinfo userinfo = userService.findUserinfo(id);
   HttpHeaders headers = new HttpHeaders();
   headers.add(CONTENT_TYPE, "application/json; charset=utf-8");
   if (userinfo == null) {
     return new ResponseEntity<String>(headers, HttpStatus.NOT_FOUND);
   }
   return new ResponseEntity<String>(userinfo.toJson(), headers, HttpStatus.OK);
 }
 @RequestMapping(method = RequestMethod.POST, headers = "Accept=application/json")
 public ResponseEntity<String> createFromJson(@RequestBody String json) {
   Userinfo userinfo = Userinfo.fromJsonToUserinfo(json);
   userService.saveUserinfo(userinfo);
   HttpHeaders headers = new HttpHeaders();
   headers.add(CONTENT_TYPE, APPLICATION_JSON);
   return new ResponseEntity<String>(headers, HttpStatus.CREATED);
 }
 @RequestMapping(headers = "Accept=application/json")
 @ResponseBody
 public ResponseEntity<String> listJson() {
   HttpHeaders headers = new HttpHeaders();
   headers.add(CONTENT_TYPE, "application/json; charset=utf-8");
   List<Userinfo> result = userService.findAllUserinfoes();
   return new ResponseEntity<String>(Userinfo.toJsonArray(result), headers, HttpStatus.OK);
 }
 @RequestMapping(value = "/{id}", method = RequestMethod.PUT, headers = "Accept=application/json")
 public ResponseEntity<String> updateFromJson(
     @RequestBody String json, @PathVariable("id") Long id) {
   HttpHeaders headers = new HttpHeaders();
   headers.add(CONTENT_TYPE, APPLICATION_JSON);
   Userinfo userinfo = Userinfo.fromJsonToUserinfo(json);
   if (userService.updateUserinfo(userinfo) == null) {
     return new ResponseEntity<String>(headers, HttpStatus.NOT_FOUND);
   }
   return new ResponseEntity<String>(headers, HttpStatus.OK);
 }