Skip to content

Extending routes #365

@gdrte

Description

@gdrte

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(){

}

}`
screen shot 2016-04-25 at 3 13 40 pm

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions