import io.jooby.Jooby;
import io.jooby.annotations.*;
@Controller
public class UserController extends Jooby {
private UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@GET("/users")
public List<User> getUsers() {
return userService.getUsers();
}
@GET("/users/{id}")
public User getUserById(@PathParam int id) {
return userService.getUserById(id);
}
@POST("/users")
public User createUser(@Body User user) {
return userService.createUser(user);
}
}
public class User {
private int id;
private String name;
}
public class UserService {
public List<User> getUsers() {
}
public User getUserById(int id) {
}
public User createUser(User user) {
}
}
public class Application {
public static void main(String[] args) {
UserService userService = new UserService();
UserController userController = new UserController(userService);
Jooby.runApp(args, app -> {
app.mvc(userController);
});
}
}