RESTful on Play! framework

前端 未结 6 517
攒了一身酷
攒了一身酷 2020-11-28 00:16

We are planning a project primarily serving content to mobile apps, but need to have a website.

My question is whether is makes sense to use Jersey or Restlet to dev

6条回答
  •  萌比男神i
    2020-11-28 01:06

    This is still a popular question, but the highest voted answers are not up to date with the current version of play. Here's a working REST example with play 2.2.1:

    conf/routes:

    GET     /users                 controllers.UserController.getUsers
    GET     /users/:id             controllers.UserController.getUser(id: Long)
    POST    /users                 controllers.UserController.createUser
    PUT     /users/:id             controllers.UserController.updateUser(id: Long)
    DELETE  /users/:id             controllers.UserController.deleteUser(id: Long)
    

    app/controllers/UserController.java:

    public static Result getUsers()
    {
        List users = Database.getUsers();
        return ok(Json.toJson(users));
    }
    
    public static Result getUser(Long id)
    {
        User user = Database.getUser(id);
        return user == null ? notFound() : ok(Json.toJson(user));
    }
    
    public static Result createUser()
    {
        User newUser = Json.fromJson(request().body().asJson(), User.class);
        User inserted = Database.addUser(newUser);
        return created(Json.toJson(inserted));
    }
    
    public static Result updateUser(Long id)
    {
        User user = Json.fromJson(request().body().asJson(), User.class);
        User updated = Database.updateUser(id, user);
        return ok(Json.toJson(updated));
    }
    
    public static Result deleteUser(Long id)
    {
        Database.deleteUser(id);
        return noContent(); // http://stackoverflow.com/a/2342589/1415732
    }
    

提交回复
热议问题