如何在Play框架中使用put方法更新数据库中的Rest Web服务?

时间:2013-09-25 09:32:46

标签: java web-services rest playframework playframework-2.1

我想使用rest web服务来更新数据库,并且播放框架已经是休息服务

我正在做的是:

我打开一个用户信息更新页面的页面,当用户点击保存按钮时,我想将这些值保存在数据库中并渲染到您的信息已更新的网页

我的查看部分

@(id: Long, userForm: Form[User])
@import helper._
@import helper.twitterBootstrap._
@main("EXTR Show"){


            <div class="container-narrow">


     <h1>Edit user info</h1>

    @form(routes.update.upd(id)) {

        <fieldset>
        @if(userForm.hasGlobalErrors) {
        <p class="error">
            <span><b>@userForm.globalError.message</b></span>
        </p>
    }

            @inputText(userForm("email"),'_label->"Enter email")
            @inputText(userForm("name"), '_label -> "user name")
            @inputText(userForm("password"), '_label -> "password")




        </fieldset>

        <div class="actions">
            <input type="submit" value="Save user" class="btn primary">
    </div>
    </div>
}
} 

控制器部分是:

public static Result upd(Long id) {

        Form<User> u = Form.form(User.class).bindFromRequest();

        if (u.hasErrors()) {
            return badRequest(editu.render(id, u));
        } else {

            u.get().update(id);

            User user = u.get();

            return ok(info.render(user));

        }
    }

路由

GET  /update/:id                    controllers.signin.ed(id:Long) 

POST /update/:id                    controllers.update.upd(id: Long) 

这里的路由器我使用post来更新那个值,但最重要的是,这不好。

当我在put处使用post时,它会给出错误。

是否有必要创建ajax以使用put方法,如果不是如何使用put方法?

0 个答案:

没有答案