动作作品播放2 Java

时间:2013-05-25 12:02:34

标签: web-services authentication playframework-2.0 function-composition

我目前正在开发一个使用Play2的网络服务,我的行动构成存在问题。

以下是我的网络服务可用的方法之一:

@Authenticated(Secured.class)
@BodyParser.Of(BodyParser.Json.class)
public static Result createObject() {
    try {
        JsonNode json = request().body().asJson();

        // Retrieve user from request
        User user;
        try {
            user = getUserFromRequest();
        }
        catch (BeanNotFoundException e) {
            return badRequest(Messages.get("userNotFound"));
        }

        // Retrieve owner from user
        Owner owner;
        try {
            owner = getOwnerFromUser(user);
        }
        catch (BeanNotFoundException e) {
            return badRequest(Messages.get("ownerNotFound"));
        }

        // Create the object
        // Here is the code using User and Owner previously found
    }
    catch (BeanValidationException e) {
        return badRequest(JsonUtils.beanValidationMessagesToJson(e));
    }
}

问题是我必须重复代码才能在我的Web服务的每个方法中检索用户和所有者。

我如何使用动作合成来做到这一点,因为我在主动作中间调用方法? 我阅读了文档http://www.playframework.com/documentation/2.1.1/JavaActionsComposition,但我不明白如何使用简单的注释更改操作的行为?

谢谢

1 个答案:

答案 0 :(得分:0)