美文网首页后端
play-framework学习

play-framework学习

作者: avery1 | 来源:发表于2018-01-04 16:51 被阅读0次

    Actions, Controllers and Results

    大部分的请求到play的处理我们称为一个action。

    play将请求的request()获取到然后产生一个result返回给客户端。

    大概代码如下

    public Result index() { 

           return ok("Got request " + request() + "!");

    }

    result来自play.mvc.Result

    其中的控制器继承自controller(play.mvc.Controller)

    返回的结果使用Result返回。ok只是其中一种

    也可以返回例如badRequest()等

    Result ok = ok("Hello world!");Result notFound = notFound("Page not found");

    Result pageNotFound = notFound("").as("text/html");

    Result badRequest = badRequest(views.html.form.render(formWithErrors));

    Result oops = internalServerError("Oops");Result anyStatus = status(488, "Strange response type");

    HTTP routing

    play里的路由在conf/routes里定义

    每一个请求的定义分三部分构成

    ①请求的类型(GET,POST,PUT,DELETE......)

    ②请求的路径  /api/apps/:id

    ③请求的方法在控制器的位置和参数声明   controllers.ApiController.apps(id: Long)

    这里要说明的有

    请求在路径里的参数用:加名字,方法里的参数声明是先名称后类型。

    也可以在这里写明参数的默认值,比如请求的参数如果有就用传过来的值,如果没有就用默认值

     controllers.ApiController.apps(pageSize: Integer ?= 1, pageSize: Integer ?= 10)

    Manipulating the response

    Session and Flash scopes

    Body parsers

    play里如果有些参数是通过请求体传过来,那么我们可以通过play里内置的解析来处理。

    在java里直接使用request().body().asJson()即可获得请求的body的json类型

    content-type为application/json会被解析成json

    如果要获取json里的某些字段,json.get("字段名").asText()

    Action composition

    我们可以用注解完成authenticator。我们先创建一个authenticator的java类,当然也可以创建比如admin的或者其他权限的authenticator

    继承自Security.Authenticator

    这里面需要重写getUsername,如果返回null则验证失败,返回username验证成功

    这样,我们在请求的前面加此注解,就可以进行验证了

    相关文章

      网友评论

        本文标题:play-framework学习

        本文链接:https://www.haomeiwen.com/subject/slirnxtx.html