У меня есть простой объект:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
@RooJson
public class HJAddress {
private String id;
}
И простой пустой контроллер:
@RooWebJson(jsonObject = HJAddress.class)
@Controller
@RequestMapping("/hjaddresses")
public class HJAddressController {
}
.aj-файлы, генерируемые Roo для контроллеров, хороши, за исключением концаdeleteFromJson
метода.Это всегда генерирует ошибку компилятора для меня.Глядя на это, он делает:
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE, headers = "Accept=application/json")
public ResponseEntity<String> HJAddressController.deleteFromJson
(@PathVariable("id") Long id) {
HJAddress hJAddress = HJAddress.findHJAddress(id);
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
if (hJAddress == null) {
return new ResponseEntity<String>(headers, HttpStatus.NOT_FOUND);
}
>>> HJAddress_.remove();
return new ResponseEntity<String>(headers, HttpStatus.OK);
}
И прямо в конце там написано HJAddress_.remove()
вместо hJAddress.remove()
.Все остальные методы действительно используют эту HJAddress_
схему именования.
Я не совсем уверен, куда идти, поскольку это нечто внутреннее для Roo.
EDIT : используется roo 1.2 с STS на основе индиго затмения.