Jooby doesn't support extending routes. The usage is, define some common API(CRUD) in Abstract route and extend this router to add additional APIs. What exactly I mean is as follows.
`@RestController
abstract public class AbstractController {
/**
* List the Models
*
* @return List, a list of Models.
/
@RequestMapping(method = RequestMethod.GET)
public List list() {
return dao.find().asList();
}
/*
* Get the Model given by an ID
*
* @return Model.
*/
@RequestMapping(method = RequestMethod.GET,value="/{id}")
public Model findOne(@PathVariable final String id) {
return dao.get(new ObjectId(id));
}
/**
* Create a new Model
*
* @param model Model The Model object
* @return Model, On success returns saved Model with generated id.
*/
@RequestMapping(method = RequestMethod.POST)
public Model create(@RequestBody Model model) {
dao.save(model);
return model;
}
}
@RestController
@RequestMapping("/api/user")
public class UserController extends AbstractController {
@Autowired
public UserController(DAO dao) {
super(dao);
}
@RequestMapping(method= RequestMethod.POST, value = "/login")
void login(){
}
@RequestMapping(method= RequestMethod.POST, value="/logout")
void logout(){
}
}`

Jooby doesn't support extending routes. The usage is, define some common API(CRUD) in Abstract route and extend this router to add additional APIs. What exactly I mean is as follows.
`@RestController
abstract public class AbstractController {
/**
* List the Models
*
* @return List, a list of Models.
/
@RequestMapping(method = RequestMethod.GET)
public List list() {
return dao.find().asList();
}
/*
* Get the Model given by an ID
*
* @return Model.
*/
@RequestMapping(method = RequestMethod.GET,value="/{id}")
public Model findOne(@PathVariable final String id) {
return dao.get(new ObjectId(id));
}
}
@RestController
@RequestMapping("/api/user")
public class UserController extends AbstractController {
}`
