[Java] Play에서 RESTful! 뼈대


Answers

이것은 여전히 ​​대중적인 질문이지만, 가장 높은 투표 응답은 현재 버전의 연극에서는 최신 정보가 아닙니다. 다음은 게임 2.2.1의 REST 예제입니다.

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<User> 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
}
Question

우리는 주로 모바일 앱에 콘텐츠를 제공하는 프로젝트를 계획하고 있지만 웹 사이트가 필요합니다.

제 질문은 저지 또는 Restlet을 사용하여 모바일 앱용 REST API를 개발 한 다음 Play! 웹 사이트를 제공합니다.

아니면 Play를 사용하는 것이 더 합리적입니까? 모든 것을 할 수 있을까요? 그렇다면 Play와 함께 REST를하는 방법! 뼈대?







JAX-RS 구현과의 통합은 Play의 기본 제공 HTTP 라우팅을 사용하는 다른 방법입니다. RESTEasy 예제는 RESTEasy Play! 모듈 .

이 접근법은 이미 JAX-RS에 투자 중이거나 JAX-RS가 제공하는 컨텐츠 협상과 같은 고급 기능 중 일부가 필요할 경우에 유용합니다. 그렇지 않다면 HTTP 요청에 대한 응답으로 JSON 또는 XML을 제공하기 위해 Play를 직접 사용하는 것이 더 간단 할 것입니다.