Play framework 响应response类型

来源:互联网 发布:社会生存法则 知乎 编辑:程序博客网 时间:2024/05/21 09:24

          改变默认的Content-type类型

            返回的结果body类型会自动的从java结果值推断;

            例如:

Result textResult = ok("Hello World!");
我们会自动的设置Content-Type头类型为text/plain,当
Result jsonResult = ok(jerksonObject);
将会设置Content-Type类型为application/json
这样是很有用的,但是有时候你会想去改变它,只需要使用as(newContentType)方法在一个结果上创建一个简单的结果使用不同的Content-Type头:
Result htmlResult = ok("<h1>Hello World!</h1>").as("text/html");

你也可以设置Content-Type在http response上
public static Result index() {  response().setContentType("text/html");  return ok("<h1>Hello World!</h1>");}
设置Http response头
你可以添加或者更新任何http response头
public static Result index() {  response().setContentType("text/html");  response().setHeader(CACHE_CONTROL, "max-age=3600");  response().setHeader(ETAG, "xxx");  return ok("<h1>Hello World!</h1>");}
注意:设置HTTP头将会自动的丢弃之前的任何值。
设置和丢弃Cookies
cookies仅仅是http头的一种特殊形式,但是play提供了一组帮助者来简化它。
你可以很容易的添加一组cookie到http响应
response().setCookie("theme", "blue");
另外,丢弃先前存储在web浏览器的cookie
response().discardCookies("theme");
指定文本结果的字符编码
对于一个基于文本响应的http响应,正确处理文本的编码是很重要的,Play处理文本的默认编码格式是UTF-8,编码用于将文本响应转换为响应的字节通过网络套接字的方式发送,添加适当的Content-Type=xxx延伸到Content-Type头。
可以在生成结果值时指定编码:
public static Result index() {  response().setContentType("text/html; charset=iso-8859-1");  return ok("<h1>Hello World!</h1>", "iso-8859-1");}

原创粉丝点击