There is a content negotiating view resolver add-on. Did you try that one?
If you're looking for just view data translation and supporting different media formats, that may be the ticket. But if you are writing a wholly JSON/REST backend you can just use things like @RequestBody and @ResponseBody (or @RequestEntity/@ResponseEntity) in your controllers and install the Json plugin.
REST in Roo 1.2.3 can be as simple as (sorry, from memory so syntax will be meh):
1. Install the json add-on
2. Annotate your model/transfer objects with @RooJson
3. Write a controller
Code:
@RequestMapping("/courses")
@Controller
@RooWebScaffold(path = "courses", formBackingObject = Course.class)
public class CourseController {
@RequestMapping("/courses", produces = "application/json")
public@ResponseBody String getCourses() {
return Courses.findAll().toJsonArray();
}
}
So maybe you don't need to write an add-on if you have specific requirements. The Roo 1.2.3 release includes Spring 3.2 so that enables some enhanced functionality in Web MVC with REST.